added missing directory to lms7002m
This commit is contained in:
@@ -0,0 +1,639 @@
|
||||
/*
|
||||
Feather INI Parser - 1.40
|
||||
You are free to use this however you wish.
|
||||
|
||||
If you find a bug, please attept to debug the cause.
|
||||
Post your environment details and the cause or fix in the issues section of GitHub.
|
||||
|
||||
Written by Turbine.
|
||||
|
||||
Website:
|
||||
https://github.com/Turbine1991/feather-ini-parser
|
||||
http://code.google.com/p/feather-ini-parser/downloads
|
||||
|
||||
Help:
|
||||
Bundled example & readme.
|
||||
http://code.google.com/p/feather-ini-parser/wiki/Tutorials
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#define FINI_SAFE
|
||||
#define FINI_BUFFER_SIZE 128
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
#include <unordered_map>
|
||||
#define FINI_CPP11
|
||||
#define ALLOCATE_SECTIONS 100
|
||||
#define ALLOCATE_KEYS 5
|
||||
#else
|
||||
#include <map>
|
||||
#endif
|
||||
|
||||
#ifdef FINI_WIDE_SUPPORT
|
||||
#include <wchar.h>
|
||||
|
||||
typedef std::wstringstream fini_sstream_t;
|
||||
typedef std::wstring fini_string_t;
|
||||
typedef wchar_t fini_char_t;
|
||||
typedef std::wifstream fini_ifstream_t;
|
||||
typedef std::wofstream fini_ofstream_t;
|
||||
|
||||
#define fini_strlen(a) wcslen(a)
|
||||
#define fini_strncpy(a, b) wcscpy(a, b)
|
||||
#define fini_strncpy(a, b, c) wcsncpy(a, b, c)
|
||||
#define fini_strtok(a, b) wcstok(a, b)
|
||||
|
||||
#define _T(x) L ##x
|
||||
#else
|
||||
#include <cstring>
|
||||
|
||||
typedef std::stringstream fini_sstream_t;
|
||||
typedef std::string fini_string_t;
|
||||
typedef char fini_char_t;
|
||||
typedef std::ifstream fini_ifstream_t;
|
||||
typedef std::ofstream fini_ofstream_t;
|
||||
|
||||
#define fini_strlen(a) strlen(a)
|
||||
#define fini_strcpy(a, b) strcpy(a, b)
|
||||
#define fini_strncpy(a, b, c) strncpy(a, b, c)
|
||||
#define fini_strtok(a, b) strtok(a, b)
|
||||
|
||||
#define _T(x) x
|
||||
#endif
|
||||
|
||||
#define CHAR_SIZE sizeof(fini_char_t)
|
||||
|
||||
///Simple converter using templates and streams to effectively required for the flexibility of handling native types
|
||||
class Converters
|
||||
{
|
||||
public:
|
||||
template <typename T, typename U>
|
||||
static T Convert(U value);
|
||||
template <typename T>
|
||||
static void GetLine(fini_sstream_t& out, T& value);
|
||||
static void GetLine(fini_sstream_t& out, fini_string_t& value);
|
||||
template <typename T>
|
||||
static size_t GetDataSize(T& value);
|
||||
static size_t GetDataSize(fini_string_t value);
|
||||
};
|
||||
|
||||
///
|
||||
template <typename T = fini_string_t, typename U = fini_string_t, typename V = fini_string_t>
|
||||
class INI
|
||||
{
|
||||
public:
|
||||
typedef T section_t;
|
||||
typedef U key_t;
|
||||
typedef V value_t;
|
||||
typedef INI<section_t, key_t, value_t> ini_t;
|
||||
|
||||
///Type definition declarations
|
||||
#ifdef FINI_CPP11
|
||||
typedef typename std::unordered_map<key_t, value_t> keys_t;
|
||||
typedef typename std::unordered_map<section_t, keys_t*> sections_t;
|
||||
#else
|
||||
typedef typename std::map<key_t, value_t> keys_t;
|
||||
typedef typename std::map<section_t, keys_t*> sections_t;
|
||||
#endif
|
||||
|
||||
typedef typename keys_t::iterator keysit_t;
|
||||
typedef typename sections_t::iterator sectionsit_t;
|
||||
|
||||
typedef typename std::pair<key_t, value_t> keyspair_t;
|
||||
typedef typename std::pair<section_t, keys_t*> sectionspair_t;
|
||||
|
||||
typedef char data_t;
|
||||
|
||||
enum source_e {SOURCE_FILE, SOURCE_MEMORY};
|
||||
|
||||
///Data members
|
||||
std::string filename;
|
||||
data_t* data;
|
||||
size_t dataSize;
|
||||
keys_t* current;
|
||||
sections_t sections;
|
||||
source_e source;
|
||||
|
||||
///Constuctor/Destructor
|
||||
//Specify the filename to associate and whether to parse immediately
|
||||
INI(const std::string filename, bool doParse): filename(filename)
|
||||
{
|
||||
init(SOURCE_FILE, doParse);
|
||||
}
|
||||
|
||||
//Used for loading INI from memory
|
||||
INI(void* data, size_t dataSize, bool doParse): data((data_t*)data), dataSize(dataSize)
|
||||
{
|
||||
init(SOURCE_MEMORY, doParse);
|
||||
}
|
||||
|
||||
~INI()
|
||||
{
|
||||
clear();
|
||||
}
|
||||
|
||||
///Access Content
|
||||
//Provide bracket access to section contents
|
||||
keys_t& operator[](section_t section)
|
||||
{
|
||||
#ifdef FINI_SAFE
|
||||
if (!sections[section])
|
||||
sections[section] = new keys_t;
|
||||
#endif
|
||||
|
||||
return *sections[section];
|
||||
}
|
||||
|
||||
//Create a new section and select it
|
||||
bool create(const section_t section)
|
||||
{
|
||||
if (select(section))
|
||||
return false;
|
||||
|
||||
current = new keys_t;
|
||||
sections[section] = current;
|
||||
|
||||
reserveKeys(current);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//Select a section for performing operations
|
||||
bool select(const section_t section)
|
||||
{
|
||||
sectionsit_t sectionsit = sections.find(section);
|
||||
if (sectionsit == sections.end())
|
||||
return false;
|
||||
|
||||
current = sectionsit->second;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
///Set
|
||||
//Assign a value for key under the selected section
|
||||
bool set(const key_t key, const value_t value)
|
||||
{
|
||||
if (current == NULL)
|
||||
return false;
|
||||
|
||||
(*current)[key] = value;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
template <typename W, typename X>
|
||||
bool set(const W key, const X value)
|
||||
{ return set(Converters::Convert<key_t>(key), Converters::Convert<value_t>(value)); }
|
||||
|
||||
///Get
|
||||
value_t get(const key_t key, value_t def = value_t())
|
||||
{
|
||||
keysit_t it = current->find(key);
|
||||
if (current == NULL || it == current->end())
|
||||
return def;
|
||||
|
||||
return it->second;
|
||||
}
|
||||
|
||||
value_t get(const section_t section, const key_t key, value_t def)
|
||||
{
|
||||
if (!select(section))
|
||||
return def;
|
||||
|
||||
return get(key, def);
|
||||
}
|
||||
|
||||
template <typename W, typename X>
|
||||
X get(const W key, const X def = value_t())
|
||||
{ return Converters::Convert<X>(get(Converters::Convert<key_t>(key), Converters::Convert<value_t>(def))); }
|
||||
|
||||
template <typename W>
|
||||
fini_string_t get(const W key, const fini_char_t* def = _T("")) //Handle C string default value without casting
|
||||
{ return Converters::Convert<fini_string_t>(get(Converters::Convert<key_t>(key), Converters::Convert<value_t>(def))); }
|
||||
|
||||
template <typename W, typename X, typename Y>
|
||||
Y get(const W section, const X key, const Y def)
|
||||
{ return Converters::Convert<Y>(get(Converters::Convert<section_t>(section), Converters::Convert<key_t>(key), Converters::Convert<value_t>(def))); }
|
||||
|
||||
template <typename W, typename X>
|
||||
fini_string_t get(const W section, const X key, const fini_char_t* def) //Handle C string default value without casting
|
||||
{ return Converters::Convert<fini_string_t>(Converters::Convert<section_t>(section), get(Converters::Convert<key_t>(key), Converters::Convert<value_t>(def))); }
|
||||
|
||||
///Functions
|
||||
void parse(std::istream& file)
|
||||
{
|
||||
fini_char_t line[FINI_BUFFER_SIZE];
|
||||
bool first = true;
|
||||
fini_sstream_t out;
|
||||
|
||||
while(!file.eof())
|
||||
{
|
||||
file.getline(line, FINI_BUFFER_SIZE);
|
||||
|
||||
if (first)
|
||||
{
|
||||
first = false;
|
||||
if (line[0] == 0xEF) //Allows handling of UTF-16/32 documents
|
||||
{
|
||||
memmove(line, line + (CHAR_SIZE * 3), CHAR_SIZE * (FINI_BUFFER_SIZE - 3));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
nake(line);
|
||||
|
||||
if (line[0])
|
||||
{
|
||||
size_t len = fini_strlen(line);
|
||||
if (len > 0 && !((len >= 2 && (line[0] == '/' && line[1] == '/')) || (len >= 1 && line[0] == '#'))) //Ignore comment and empty lines
|
||||
{
|
||||
if (line[0] == '[') //Section
|
||||
{
|
||||
section_t section;
|
||||
size_t length = fini_strlen(line) - 2; //Without section brackets
|
||||
while(isspace(line[length + 1])) //Leave out any additional new line characters, not "spaces" as the name suggests
|
||||
--length;
|
||||
|
||||
fini_char_t* ssection = (fini_char_t*)calloc(CHAR_SIZE, length + 1);
|
||||
fini_strncpy(ssection, line + 1, length); //Count after first bracket
|
||||
|
||||
current = new keys_t;
|
||||
|
||||
out << ssection;
|
||||
free(ssection);
|
||||
Converters::GetLine(out, section);
|
||||
|
||||
sections[section] = current;
|
||||
}
|
||||
else //Key
|
||||
{
|
||||
key_t key;
|
||||
value_t value;
|
||||
|
||||
fini_char_t* skey;
|
||||
fini_char_t* svalue;
|
||||
|
||||
skey = fini_strtok(line, _T("="));
|
||||
svalue = fini_strtok(NULL, _T("\n"));
|
||||
|
||||
if (skey && svalue)
|
||||
{
|
||||
size_t index = 0; //Without section brackets
|
||||
while(isspace(skey[index])) //Leave out any additional new line characters, not "spaces" as the name suggests
|
||||
index++;
|
||||
|
||||
if (index != 0) //Has preceeding white space
|
||||
fini_strcpy(skey, skey + index);
|
||||
|
||||
out << skey;
|
||||
|
||||
Converters::GetLine(out, key);
|
||||
|
||||
out.clear();
|
||||
out.str(fini_string_t());
|
||||
|
||||
out << svalue;
|
||||
Converters::GetLine(out, value);
|
||||
|
||||
if (value != value_t())
|
||||
(*current)[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
out.clear();
|
||||
out.str(fini_string_t()); //Clear existing stream;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Parse an INI's contents into memory from the filename given during construction
|
||||
bool parse()
|
||||
{
|
||||
switch(source)
|
||||
{
|
||||
case SOURCE_FILE: {
|
||||
fini_ifstream_t file(filename.c_str());
|
||||
|
||||
if (!file.is_open())
|
||||
return false;
|
||||
|
||||
parse(file);
|
||||
|
||||
file.close();
|
||||
}
|
||||
break;
|
||||
|
||||
case SOURCE_MEMORY: {
|
||||
std::stringstream sstream;
|
||||
sstream.rdbuf()->pubsetbuf(data, dataSize);
|
||||
|
||||
parse(sstream);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool parseBinary()
|
||||
{
|
||||
fini_ifstream_t file(filename.c_str(), std::ios::binary);
|
||||
if (!file.is_open())
|
||||
return false;
|
||||
|
||||
size_t sectionCount;
|
||||
size_t keyCount;
|
||||
key_t key;
|
||||
value_t value;
|
||||
section_t section;
|
||||
|
||||
//file.read((fini_char_t*)§ionCount, sizeof(sectionCount));
|
||||
file >> sectionCount;
|
||||
|
||||
for(size_t i = 0; i < sectionCount; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
file.seekg(1 + file.tellg());
|
||||
|
||||
file.read((fini_char_t*)&keyCount, sizeof(keyCount));
|
||||
file >> section;
|
||||
|
||||
create(section);
|
||||
|
||||
for(size_t j = 0; j < keyCount; j++)
|
||||
{
|
||||
file >> key;
|
||||
file >> value;
|
||||
set(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
file.close();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//Clear the contents from memory
|
||||
void clear()
|
||||
{
|
||||
clean();
|
||||
sections.clear();
|
||||
}
|
||||
|
||||
///Output
|
||||
//Save from memory into file
|
||||
bool save(const std::string filename = "")
|
||||
{
|
||||
if (!hasFileAssociation(filename))
|
||||
return false;
|
||||
|
||||
fini_ofstream_t file(((filename == "")? this->filename: filename).c_str(), std::ios::trunc);
|
||||
if (!file.is_open())
|
||||
return false;
|
||||
|
||||
//Loop through sections
|
||||
for(typename INI::sectionsit_t i = sections.begin(); i != sections.end(); i++)
|
||||
{
|
||||
if (i->second->size() == 0) //No keys/values in section, skip to next
|
||||
continue;
|
||||
|
||||
//Write section
|
||||
const fini_string_t temp = makeSection(i->first);
|
||||
const fini_char_t* line = temp.c_str();
|
||||
file.write(line, fini_strlen(line));
|
||||
|
||||
for(typename INI::keysit_t j = i->second->begin(); j != i->second->end(); j++)
|
||||
{
|
||||
//Write key and value
|
||||
const fini_string_t temp = makeKeyValue(j->first, j->second);
|
||||
const fini_char_t* line = temp.c_str();
|
||||
file.write(line, fini_strlen(line));
|
||||
}
|
||||
}
|
||||
|
||||
file.close();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//Saves it without any conventional INI formatting characters, however it only uses string streams
|
||||
bool saveBinary(const std::string filename = "")
|
||||
{
|
||||
if (!hasFileAssociation(filename))
|
||||
return false;
|
||||
|
||||
fini_ofstream_t file(((filename == "")? this->filename: filename).c_str(), std::ios::trunc | std::ios::binary);
|
||||
if (!file.is_open())
|
||||
return false;
|
||||
|
||||
size_t sectionCount = sections.size();
|
||||
size_t keyCount;
|
||||
|
||||
file.write((fini_char_t*)§ionCount, sizeof(sectionCount));
|
||||
|
||||
//Loop through sections
|
||||
for(typename INI::sectionsit_t i = sections.begin(); i != sections.end(); i++)
|
||||
{
|
||||
keyCount = i->second->size();
|
||||
file.write((fini_char_t*)&keyCount, sizeof(keyCount));
|
||||
|
||||
file << i->first << std::endl;
|
||||
|
||||
for(typename INI::keysit_t j = i->second->begin(); j != i->second->end(); j++)
|
||||
{
|
||||
file << j->first << std::endl;
|
||||
file << j->second << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
file.close();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//Saves it as a true binary file, intended to replace the existing one. Don't bother using it with all strings.
|
||||
bool saveBinaryExperimental(std::string filename = "")
|
||||
{
|
||||
if (!hasFileAssociation(filename))
|
||||
return false;
|
||||
|
||||
fini_ofstream_t file(((filename == "")? this->filename: filename).c_str(), std::ios::trunc | std::ios::binary);
|
||||
if (!file.is_open())
|
||||
return false;
|
||||
|
||||
size_t sectionCount = sections.size();
|
||||
size_t keyCount;
|
||||
|
||||
file.write((fini_char_t*)§ionCount, sizeof(sectionCount));
|
||||
|
||||
//Loop through sections
|
||||
for(typename INI::sectionsit_t i = sections.begin(); i != sections.end(); i++)
|
||||
{
|
||||
keyCount = i->second->size();
|
||||
file.write((fini_char_t*)&keyCount, sizeof(keyCount));
|
||||
|
||||
file.write((fini_char_t*)&i->first, Converters::GetDataSize(i->first));
|
||||
|
||||
for(typename INI::keysit_t j = i->second->begin(); j != i->second->end(); j++)
|
||||
{
|
||||
file.write((fini_char_t*)&j->first, Converters::GetDataSize(j->first));
|
||||
file.write((fini_char_t*)&j->second, Converters::GetDataSize(j->second));
|
||||
}
|
||||
}
|
||||
|
||||
file.close();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//Alows another INI's contents to be insert into another, with the ability to retain the original values
|
||||
void merge(ini_t& other, bool retainValues = true)
|
||||
{
|
||||
for(typename INI::sectionsit_t i = other.sections.begin(); i != other.sections.end(); i++)
|
||||
{
|
||||
if (!select(i->first)) //Create and insert all key values into a missing section
|
||||
{
|
||||
keys_t* keys = new keys_t(*i->second);
|
||||
sections.insert(std::make_pair(i->first, keys));
|
||||
}
|
||||
else
|
||||
{
|
||||
for(typename INI::keysit_t j = i->second->begin(); j != i->second->end(); j++)
|
||||
{
|
||||
keysit_t it = current->find(j->first);
|
||||
if (it == current->end())
|
||||
current->insert(std::make_pair(j->first, j->second));
|
||||
else if (!retainValues)
|
||||
it->second = j->second;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
///Functions
|
||||
//Init the INI in with values set by constructor
|
||||
void init(source_e source, bool doParse)
|
||||
{
|
||||
this->source = source;
|
||||
|
||||
reserveSections();
|
||||
if (doParse)
|
||||
parse();
|
||||
}
|
||||
|
||||
//Clean the contents for descruction
|
||||
void clean()
|
||||
{
|
||||
for(sectionsit_t i = sections.begin(); i != sections.end(); i++)
|
||||
delete i->second;
|
||||
|
||||
current = NULL;
|
||||
}
|
||||
|
||||
//Make any alterations to the raw line
|
||||
void nake(const fini_char_t*) //Strip the line of any non-interpretable characters
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void reserveSections()
|
||||
{
|
||||
#ifdef FINI_CPP11
|
||||
sections.reserve(ALLOCATE_SECTIONS);
|
||||
#endif
|
||||
}
|
||||
|
||||
void reserveKeys(keys_t* current)
|
||||
{
|
||||
#ifdef FINI_CPP11
|
||||
current->reserve(ALLOCATE_KEYS);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool hasFileAssociation(std::string filename)
|
||||
{
|
||||
if (source == SOURCE_MEMORY && filename == "") //No association to a file
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
///Output
|
||||
//Creates a section as a string
|
||||
fini_string_t makeSection(const section_t& section)
|
||||
{
|
||||
fini_sstream_t line;
|
||||
line << '[' << section << ']' << std::endl;
|
||||
|
||||
return line.str();
|
||||
}
|
||||
|
||||
//Creates a key and a value as a string
|
||||
fini_string_t makeKeyValue(const key_t& key, const value_t& value)
|
||||
{
|
||||
fini_sstream_t line;
|
||||
line << key << '=' << value << std::endl;
|
||||
|
||||
return line.str();
|
||||
}
|
||||
};
|
||||
|
||||
///Definitions
|
||||
template <typename T, typename U>
|
||||
inline T Converters::Convert(U value)
|
||||
{
|
||||
fini_sstream_t sout;
|
||||
T result;
|
||||
|
||||
sout << value;
|
||||
sout >> result;
|
||||
|
||||
sout.str(fini_string_t());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline fini_string_t Converters::Convert<fini_string_t, fini_string_t>(fini_string_t value)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
template <>
|
||||
inline fini_string_t Converters::Convert<fini_string_t>(const fini_char_t* value)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline void Converters::GetLine(fini_sstream_t& out, T& value)
|
||||
{
|
||||
out >> value;
|
||||
}
|
||||
|
||||
inline void Converters::GetLine(fini_sstream_t& out, fini_string_t& value)
|
||||
{
|
||||
std::getline(out, value);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
inline size_t Converters::GetDataSize(T& value)
|
||||
{
|
||||
return sizeof(value);
|
||||
}
|
||||
|
||||
inline size_t Converters::GetDataSize(fini_string_t value)
|
||||
{
|
||||
return value.size() + 1;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Turbine1991
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,47 @@
|
||||
feather-ini-parser
|
||||
==================
|
||||
|
||||
Simple like your girlfriend, fast, lightweight, header, portable INI parser for ANSI C++.
|
||||
|
||||
Why use feather-ini-parser? It's a fast, intuitive, uses C++, supports native data types, wide char support (enable), converting to data types simply by setting a default value or providing the type as a template parameter.
|
||||
|
||||
##Methods
|
||||
|
||||
Statement | Return Type
|
||||
------------- | -------------
|
||||
ini(filename, doParse)|constructor
|
||||
ini(data, dataSize, doParse)|constructor
|
||||
ini.parse()|bool
|
||||
ini.merge(other INI, retainValues)|void
|
||||
ini.create(section)|bool
|
||||
ini.select(section)|bool
|
||||
ini.set(key, value)|bool
|
||||
ini.get(key, dvalue = value_t())|dvalue_t
|
||||
ini.save(filename = "")|bool
|
||||
ini.clear()|bool
|
||||
ini[section][key]|value_t&
|
||||
ini[section]|keys_t&
|
||||
|
||||
##Example
|
||||
```
|
||||
#include <iostream>
|
||||
#include "INI.h"
|
||||
|
||||
using namespace std;
|
||||
```
|
||||
...
|
||||
```
|
||||
typedef INI<> ini_t;
|
||||
//or
|
||||
//typedef INI<section_t, key_t, value_t> ini_t;
|
||||
|
||||
ini_t ini("filename.ini", true);
|
||||
ini.create("section1"); //Create and select section1
|
||||
ini.set("key", "value");
|
||||
cout << ini.get("keynumeric", -1) << endl;
|
||||
ini["section2"]["key"] = "value";
|
||||
ini.save();
|
||||
```
|
||||
|
||||
##More
|
||||
Please see the example .cpp file and Code::Blocks .cbp project for a compilable GCC and VSC++ example. Additionally includes enabling wide char support and iterating through contents.
|
||||
+130
@@ -0,0 +1,130 @@
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
#include <stdint.h>
|
||||
#include "../INI.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
void centerString(string str); //Printing to console
|
||||
std::string getStringFromFile(const std::string& path); //Source for data loading from memory.
|
||||
|
||||
int main()
|
||||
{
|
||||
///Declare
|
||||
typedef INI<> ini_t; //Makes things shorter/easier to write <Section, Key, Value>
|
||||
//or
|
||||
//typedef INI<string, string, string> ini_t; //Equivelant to previous line when wide characters are disabled
|
||||
ini_t ini("file.ini", true); //File to open/default save filename. The constuctor is set to parse by default, unless specified as false
|
||||
|
||||
///Manipulate and access contents
|
||||
centerString("########## Access & Manipulate Contents ##########");
|
||||
|
||||
//Common usage
|
||||
ini.create("Section 1");
|
||||
ini.create("Section 2");
|
||||
ini.get("Key1", "DefaultValue");
|
||||
ini.select("Section 1");
|
||||
ini.set("Key2", "Value");
|
||||
ini.save(); //Save contents to file, optional filename parameter available
|
||||
ini.clear(); //Clear INI contents from memory
|
||||
|
||||
//Extended usage
|
||||
ini["Section Name"]["Key"] = "Value"; //You are not required to create a section first
|
||||
|
||||
ini.create("Section1"); //Also selects as current section
|
||||
ini.create("Section2"); //Current
|
||||
|
||||
ini.set("Key1", "Value1"); //Added pair under section "Section2"
|
||||
|
||||
ini.select("Section1"); //Current
|
||||
cout << ini.get("Key1", "-1") << endl; //Returns "-1" as no key exists, no default will return NULL for data type, eg int() is 0
|
||||
|
||||
ini.select("Section2");
|
||||
ini.set("Key1", "1.123");
|
||||
cout << ini.get("Key1", -1.0) << endl; //Return value as double
|
||||
ini.set(123, 123); //Will convert to provided INI data type for key/value, in this case string for both
|
||||
|
||||
ini.save();
|
||||
ini.clear();
|
||||
ini.parse(); //Parses file into objects in memory
|
||||
|
||||
cout << ini["Section2"]["Key1"] << endl; //Returns "Value1", slightly more overhead involved seeking section, avoid using excessively
|
||||
|
||||
///Iterate through sections and keys for both C++11 and C++98
|
||||
centerString("########## Iterate Contents ##########");
|
||||
|
||||
#ifdef FINI_CPP11
|
||||
for(auto i: ini.sections)
|
||||
{
|
||||
cout << "[" << i.first << "]" << endl;
|
||||
|
||||
//for(auto j = i.second->begin(); j != i.second->end(); j++)
|
||||
for(auto j: *i.second)
|
||||
{
|
||||
cout << " " << j.first << "=" << j.second << endl;
|
||||
}
|
||||
}
|
||||
#else
|
||||
for(ini_t::sectionsit_t i = ini.sections.begin(); i != ini.sections.end(); i++)
|
||||
{
|
||||
//Section name as ini_t::section_t
|
||||
cout << i->first << endl;
|
||||
|
||||
if (i->second->size() == 0) //No keys/values in section, skip to next
|
||||
continue;
|
||||
|
||||
for(ini_t::keysit_t j = i->second->begin(); j != i->second->end(); j++)
|
||||
{
|
||||
//Name as ini_t::key_t & Value as ini_t::key_t
|
||||
cout << " " << j->first << "=" << j->second << endl;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
///Example with different data types
|
||||
typedef INI <unsigned char, string, float> ini_int_t; //Makes things shorter/easier to write <Section, Key, Value>
|
||||
ini_int_t ini_int("file_ints.ini", false); //File to open/default save filename. The constuctor is set to parse by default, unless specified as false
|
||||
for(int i = 1; i <= 200; i++)
|
||||
{
|
||||
ini_int.create(i); //Section
|
||||
ini_int.set("Key", i / 2.f);
|
||||
}
|
||||
|
||||
ini_int.save();
|
||||
|
||||
///Wide char support example (please define FINI_WIDE_SUPPORT in project)
|
||||
/*
|
||||
ini_t ini_w("file.ini", true);
|
||||
wcout << ini_w[L"Section2"][L"Key1"] << endl;
|
||||
*/
|
||||
|
||||
///Load from memory
|
||||
std::string str = getStringFromFile("config/test.ini"); //Allows us to tap into a source for the purpose of this example
|
||||
|
||||
ini_t ini_mem((void*)str.c_str(), str.size(), true); //This is the line which parses data from memory
|
||||
|
||||
///Merge contents and keep values
|
||||
ini_t inid("file.ini", true);
|
||||
ini_t inis("merge.ini", true);
|
||||
inid.merge(inis, true);
|
||||
inid.save("merged.ini");
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
void centerString(string str)
|
||||
{
|
||||
const char* s = str.c_str();
|
||||
int l = strlen(s);
|
||||
int pos = (int)((80 - l) / 2);
|
||||
for(int i = 0; i < pos; i++)
|
||||
cout << " ";
|
||||
cout << s << endl;
|
||||
}
|
||||
|
||||
std::string getStringFromFile(const std::string& path) {
|
||||
std::ostringstream buf;
|
||||
std::ifstream input (path.c_str());
|
||||
buf << input.rdbuf();
|
||||
return buf.str();
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
[Section2]
|
||||
123=123
|
||||
Key1=1.123
|
||||
[Section Name]
|
||||
Key=Value
|
||||
+400
@@ -0,0 +1,400 @@
|
||||
[200]
|
||||
Key=100
|
||||
[199]
|
||||
Key=99.5
|
||||
[198]
|
||||
Key=99
|
||||
[197]
|
||||
Key=98.5
|
||||
[196]
|
||||
Key=98
|
||||
[195]
|
||||
Key=97.5
|
||||
[194]
|
||||
Key=97
|
||||
[193]
|
||||
Key=96.5
|
||||
[192]
|
||||
Key=96
|
||||
[191]
|
||||
Key=95.5
|
||||
[190]
|
||||
Key=95
|
||||
[189]
|
||||
Key=94.5
|
||||
[188]
|
||||
Key=94
|
||||
[187]
|
||||
Key=93.5
|
||||
[186]
|
||||
Key=93
|
||||
[185]
|
||||
Key=92.5
|
||||
[184]
|
||||
Key=92
|
||||
[183]
|
||||
Key=91.5
|
||||
[182]
|
||||
Key=91
|
||||
[181]
|
||||
Key=90.5
|
||||
[180]
|
||||
Key=90
|
||||
[179]
|
||||
Key=89.5
|
||||
[178]
|
||||
Key=89
|
||||
[177]
|
||||
Key=88.5
|
||||
[176]
|
||||
Key=88
|
||||
[175]
|
||||
Key=87.5
|
||||
[174]
|
||||
Key=87
|
||||
[173]
|
||||
Key=86.5
|
||||
[172]
|
||||
Key=86
|
||||
[171]
|
||||
Key=85.5
|
||||
[170]
|
||||
Key=85
|
||||
[169]
|
||||
Key=84.5
|
||||
[168]
|
||||
Key=84
|
||||
[167]
|
||||
Key=83.5
|
||||
[166]
|
||||
Key=83
|
||||
[165]
|
||||
Key=82.5
|
||||
[164]
|
||||
Key=82
|
||||
[163]
|
||||
Key=81.5
|
||||
[162]
|
||||
Key=81
|
||||
[161]
|
||||
Key=80.5
|
||||
[160]
|
||||
Key=80
|
||||
[159]
|
||||
Key=79.5
|
||||
[158]
|
||||
Key=79
|
||||
[157]
|
||||
Key=78.5
|
||||
[156]
|
||||
Key=78
|
||||
[155]
|
||||
Key=77.5
|
||||
[154]
|
||||
Key=77
|
||||
[153]
|
||||
Key=76.5
|
||||
[152]
|
||||
Key=76
|
||||
[151]
|
||||
Key=75.5
|
||||
[150]
|
||||
Key=75
|
||||
[149]
|
||||
Key=74.5
|
||||
[148]
|
||||
Key=74
|
||||
[147]
|
||||
Key=73.5
|
||||
[146]
|
||||
Key=73
|
||||
[145]
|
||||
Key=72.5
|
||||
[144]
|
||||
Key=72
|
||||
[143]
|
||||
Key=71.5
|
||||
[142]
|
||||
Key=71
|
||||
[141]
|
||||
Key=70.5
|
||||
[140]
|
||||
Key=70
|
||||
[139]
|
||||
Key=69.5
|
||||
[138]
|
||||
Key=69
|
||||
[137]
|
||||
Key=68.5
|
||||
[136]
|
||||
Key=68
|
||||
[135]
|
||||
Key=67.5
|
||||
[134]
|
||||
Key=67
|
||||
[133]
|
||||
Key=66.5
|
||||
[132]
|
||||
Key=66
|
||||
[131]
|
||||
Key=65.5
|
||||
[130]
|
||||
Key=65
|
||||
[129]
|
||||
Key=64.5
|
||||
[128]
|
||||
Key=64
|
||||
[127]
|
||||
Key=63.5
|
||||
[126]
|
||||
Key=63
|
||||
[125]
|
||||
Key=62.5
|
||||
[124]
|
||||
Key=62
|
||||
[123]
|
||||
Key=61.5
|
||||
[122]
|
||||
Key=61
|
||||
[121]
|
||||
Key=60.5
|
||||
[120]
|
||||
Key=60
|
||||
[119]
|
||||
Key=59.5
|
||||
[118]
|
||||
Key=59
|
||||
[117]
|
||||
Key=58.5
|
||||
[116]
|
||||
Key=58
|
||||
[115]
|
||||
Key=57.5
|
||||
[114]
|
||||
Key=57
|
||||
[113]
|
||||
Key=56.5
|
||||
[112]
|
||||
Key=56
|
||||
[111]
|
||||
Key=55.5
|
||||
[110]
|
||||
Key=55
|
||||
[109]
|
||||
Key=54.5
|
||||
[108]
|
||||
Key=54
|
||||
[107]
|
||||
Key=53.5
|
||||
[106]
|
||||
Key=53
|
||||
[105]
|
||||
Key=52.5
|
||||
[104]
|
||||
Key=52
|
||||
[103]
|
||||
Key=51.5
|
||||
[1]
|
||||
Key=0.5
|
||||
[2]
|
||||
Key=1
|
||||
[3]
|
||||
Key=1.5
|
||||
[4]
|
||||
Key=2
|
||||
[5]
|
||||
Key=2.5
|
||||
[6]
|
||||
Key=3
|
||||
[7]
|
||||
Key=3.5
|
||||
[8]
|
||||
Key=4
|
||||
[9]
|
||||
Key=4.5
|
||||
[10]
|
||||
Key=5
|
||||
[11]
|
||||
Key=5.5
|
||||
[12]
|
||||
Key=6
|
||||
[13]
|
||||
Key=6.5
|
||||
[14]
|
||||
Key=7
|
||||
[15]
|
||||
Key=7.5
|
||||
[16]
|
||||
Key=8
|
||||
[17]
|
||||
Key=8.5
|
||||
[18]
|
||||
Key=9
|
||||
[19]
|
||||
Key=9.5
|
||||
[20]
|
||||
Key=10
|
||||
[21]
|
||||
Key=10.5
|
||||
[22]
|
||||
Key=11
|
||||
[23]
|
||||
Key=11.5
|
||||
[24]
|
||||
Key=12
|
||||
[25]
|
||||
Key=12.5
|
||||
[26]
|
||||
Key=13
|
||||
[27]
|
||||
Key=13.5
|
||||
[28]
|
||||
Key=14
|
||||
[29]
|
||||
Key=14.5
|
||||
[30]
|
||||
Key=15
|
||||
[31]
|
||||
Key=15.5
|
||||
[32]
|
||||
Key=16
|
||||
[33]
|
||||
Key=16.5
|
||||
[34]
|
||||
Key=17
|
||||
[35]
|
||||
Key=17.5
|
||||
[36]
|
||||
Key=18
|
||||
[37]
|
||||
Key=18.5
|
||||
[38]
|
||||
Key=19
|
||||
[39]
|
||||
Key=19.5
|
||||
[40]
|
||||
Key=20
|
||||
[41]
|
||||
Key=20.5
|
||||
[42]
|
||||
Key=21
|
||||
[43]
|
||||
Key=21.5
|
||||
[44]
|
||||
Key=22
|
||||
[45]
|
||||
Key=22.5
|
||||
[46]
|
||||
Key=23
|
||||
[47]
|
||||
Key=23.5
|
||||
[48]
|
||||
Key=24
|
||||
[49]
|
||||
Key=24.5
|
||||
[50]
|
||||
Key=25
|
||||
[51]
|
||||
Key=25.5
|
||||
[52]
|
||||
Key=26
|
||||
[53]
|
||||
Key=26.5
|
||||
[54]
|
||||
Key=27
|
||||
[55]
|
||||
Key=27.5
|
||||
[56]
|
||||
Key=28
|
||||
[57]
|
||||
Key=28.5
|
||||
[58]
|
||||
Key=29
|
||||
[59]
|
||||
Key=29.5
|
||||
[60]
|
||||
Key=30
|
||||
[61]
|
||||
Key=30.5
|
||||
[62]
|
||||
Key=31
|
||||
[63]
|
||||
Key=31.5
|
||||
[64]
|
||||
Key=32
|
||||
[65]
|
||||
Key=32.5
|
||||
[66]
|
||||
Key=33
|
||||
[67]
|
||||
Key=33.5
|
||||
[68]
|
||||
Key=34
|
||||
[69]
|
||||
Key=34.5
|
||||
[70]
|
||||
Key=35
|
||||
[71]
|
||||
Key=35.5
|
||||
[72]
|
||||
Key=36
|
||||
[73]
|
||||
Key=36.5
|
||||
[74]
|
||||
Key=37
|
||||
[75]
|
||||
Key=37.5
|
||||
[76]
|
||||
Key=38
|
||||
[77]
|
||||
Key=38.5
|
||||
[78]
|
||||
Key=39
|
||||
[79]
|
||||
Key=39.5
|
||||
[80]
|
||||
Key=40
|
||||
[81]
|
||||
Key=40.5
|
||||
[82]
|
||||
Key=41
|
||||
[83]
|
||||
Key=41.5
|
||||
[84]
|
||||
Key=42
|
||||
[85]
|
||||
Key=42.5
|
||||
[86]
|
||||
Key=43
|
||||
[87]
|
||||
Key=43.5
|
||||
[88]
|
||||
Key=44
|
||||
[89]
|
||||
Key=44.5
|
||||
[90]
|
||||
Key=45
|
||||
[91]
|
||||
Key=45.5
|
||||
[92]
|
||||
Key=46
|
||||
[93]
|
||||
Key=46.5
|
||||
[94]
|
||||
Key=47
|
||||
[95]
|
||||
Key=47.5
|
||||
[96]
|
||||
Key=48
|
||||
[97]
|
||||
Key=48.5
|
||||
[98]
|
||||
Key=49
|
||||
[99]
|
||||
Key=49.5
|
||||
[100]
|
||||
Key=50
|
||||
[101]
|
||||
Key=50.5
|
||||
[102]
|
||||
Key=51
|
||||
@@ -0,0 +1,5 @@
|
||||
[NewSection]
|
||||
Key=Value
|
||||
[Section2]
|
||||
NewKey=Value
|
||||
123=456
|
||||
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="project" />
|
||||
<Option pch_mode="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="gcc_mingw">
|
||||
<Option output="bin/gcc_mingw/example" prefix_auto="1" extension_auto="1" />
|
||||
<Option object_output="obj/gcc_mingw/" />
|
||||
<Option type="1" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
<Add option="-Wall" />
|
||||
<Add option="-std=c++0x" />
|
||||
</Compiler>
|
||||
</Target>
|
||||
<Target title="vs_2013">
|
||||
<Option output="bin/vs/example" prefix_auto="1" extension_auto="1" />
|
||||
<Option object_output="obj/vs_2013/" />
|
||||
<Option type="1" />
|
||||
<Option compiler="microsoft_visual_c_2013" />
|
||||
<Compiler>
|
||||
<Add option="/EHa" />
|
||||
<Add option="/W2" />
|
||||
<Add directory="C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/include" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add directory="C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/lib" />
|
||||
<Add directory="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib" />
|
||||
</Linker>
|
||||
</Target>
|
||||
<Target title="vs_2010">
|
||||
<Option output="bin/vs/example" prefix_auto="1" extension_auto="1" />
|
||||
<Option object_output="obj/vs_2010/" />
|
||||
<Option type="1" />
|
||||
<Option compiler="msvc10" />
|
||||
<Compiler>
|
||||
<Add option="/EHa" />
|
||||
<Add option="/W2" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add directory="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib" />
|
||||
</Linker>
|
||||
</Target>
|
||||
</Build>
|
||||
<Unit filename="../INI.h" />
|
||||
<Unit filename="example.cpp" />
|
||||
<Extensions>
|
||||
<code_completion />
|
||||
<envvars />
|
||||
<debugger />
|
||||
</Extensions>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
||||
+802
@@ -0,0 +1,802 @@
|
||||
# depslib dependency file v1.0
|
||||
1399614205 source:d:\projects\feather-ini-parser\example\example.cpp
|
||||
<iostream>
|
||||
<cstring>
|
||||
<stdint.h>
|
||||
"../INI.h"
|
||||
|
||||
1399625159 d:\projects\feather-ini-parser\ini.h
|
||||
<string>
|
||||
<fstream>
|
||||
<sstream>
|
||||
<stdint.h>
|
||||
<stdio.h>
|
||||
<stdlib.h>
|
||||
<unordered_map>
|
||||
<map>
|
||||
<wchar.h>
|
||||
<cstring>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\iostream
|
||||
<istream>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\istream
|
||||
<ostream>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\ostream
|
||||
<ios>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\ios
|
||||
<xlocnum>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xlocnum
|
||||
<climits>
|
||||
<cmath>
|
||||
<cstdio>
|
||||
<cstdlib>
|
||||
<streambuf>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\climits
|
||||
<yvals.h>
|
||||
<limits.h>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\yvals.h
|
||||
<xkeycheck.h>
|
||||
<crtdefs.h>
|
||||
<use_ansi.h>
|
||||
<crtwrn.h>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xkeycheck.h
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\crtdefs.h
|
||||
<sal.h>
|
||||
<vadefs.h>
|
||||
<winapifamily.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\sal.h
|
||||
"codeanalysis\sourceannotations.h"
|
||||
<ConcurrencySal.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\codeanalysis\sourceannotations.h
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\concurrencysal.h
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\vadefs.h
|
||||
<cruntime.h>
|
||||
|
||||
1379495880 c:\program files (x86)\microsoft visual studio 12.0\vc\include\use_ansi.h
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\crtwrn.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\limits.h
|
||||
<crtdefs.h>
|
||||
|
||||
1375351090 c:\program files (x86)\microsoft visual studio 12.0\vc\include\cmath
|
||||
<yvals.h>
|
||||
<math.h>
|
||||
<xtgmath.h>
|
||||
<math.h>
|
||||
<xtgmath.h>
|
||||
|
||||
1379495880 c:\program files (x86)\microsoft visual studio 12.0\vc\include\math.h
|
||||
<crtdefs.h>
|
||||
|
||||
1379495880 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xtgmath.h
|
||||
<xtr1common>
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xtr1common
|
||||
<yvals.h>
|
||||
|
||||
1375351090 c:\program files (x86)\microsoft visual studio 12.0\vc\include\cstdio
|
||||
<yvals.h>
|
||||
<stdio.h>
|
||||
<stdio.h>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdio.h
|
||||
<crtdefs.h>
|
||||
<swprintf.inl>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\swprintf.inl
|
||||
<vadefs.h>
|
||||
|
||||
1375351090 c:\program files (x86)\microsoft visual studio 12.0\vc\include\cstdlib
|
||||
<yvals.h>
|
||||
<stdlib.h>
|
||||
<stdlib.h>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdlib.h
|
||||
<crtdefs.h>
|
||||
<limits.h>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\streambuf
|
||||
<xiosbase>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xiosbase
|
||||
<xlocale>
|
||||
<system_error>
|
||||
<share.h>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xlocale
|
||||
<climits>
|
||||
<cstring>
|
||||
<stdexcept>
|
||||
<typeinfo>
|
||||
<xlocinfo>
|
||||
<xdebug>
|
||||
<xfacet>
|
||||
|
||||
1375351090 c:\program files (x86)\microsoft visual studio 12.0\vc\include\cstring
|
||||
<yvals.h>
|
||||
<string.h>
|
||||
<string.h>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\string.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdexcept
|
||||
<exception>
|
||||
<xstring>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\exception
|
||||
<xstddef>
|
||||
<eh.h>
|
||||
<malloc.h>
|
||||
<string.h>
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xstddef
|
||||
<stdlib.h>
|
||||
<cstddef>
|
||||
<initializer_list>
|
||||
<xtr1common>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\cstddef
|
||||
<yvals.h>
|
||||
<stddef.h>
|
||||
<stddef.h>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\stddef.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\initializer_list
|
||||
<cstddef>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\eh.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\malloc.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xstring
|
||||
<xmemory0>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory0
|
||||
<cstdlib>
|
||||
<limits>
|
||||
<new>
|
||||
<xutility>
|
||||
<xatomic0.h>
|
||||
<intrin.h>
|
||||
<xatomic.h>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\limits
|
||||
<ymath.h>
|
||||
<cfloat>
|
||||
<climits>
|
||||
<cmath>
|
||||
<cwchar>
|
||||
<xstddef>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\ymath.h
|
||||
<yvals.h>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\cfloat
|
||||
<yvals.h>
|
||||
<float.h>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\float.h
|
||||
<crtdefs.h>
|
||||
<crtwrn.h>
|
||||
|
||||
1375351090 c:\program files (x86)\microsoft visual studio 12.0\vc\include\cwchar
|
||||
<yvals.h>
|
||||
<wchar.h>
|
||||
<wchar.h>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\wchar.h
|
||||
<crtdefs.h>
|
||||
<swprintf.inl>
|
||||
<wtime.inl>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\wtime.inl
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\new
|
||||
<exception>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility
|
||||
<climits>
|
||||
<cstdlib>
|
||||
<utility>
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\utility
|
||||
<xstddef>
|
||||
<iosfwd>
|
||||
<type_traits>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\iosfwd
|
||||
<cstdio>
|
||||
<cstring>
|
||||
<cwchar>
|
||||
<xstddef>
|
||||
<crtdbg.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\crtdbg.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\type_traits
|
||||
<xstddef>
|
||||
<xrefwrap>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xrefwrap
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xatomic0.h
|
||||
<yvals.h>
|
||||
|
||||
1379495880 c:\program files (x86)\microsoft visual studio 12.0\vc\include\intrin.h
|
||||
<crtdefs.h>
|
||||
<setjmp.h>
|
||||
<stddef.h>
|
||||
<immintrin.h>
|
||||
<ammintrin.h>
|
||||
<mm3dnow.h>
|
||||
<armintr.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\setjmp.h
|
||||
<crtdefs.h>
|
||||
<setjmpex.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\setjmpex.h
|
||||
<setjmp.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\immintrin.h
|
||||
<wmmintrin.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\wmmintrin.h
|
||||
<nmmintrin.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\nmmintrin.h
|
||||
<smmintrin.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\smmintrin.h
|
||||
<tmmintrin.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\tmmintrin.h
|
||||
<pmmintrin.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\pmmintrin.h
|
||||
<emmintrin.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\emmintrin.h
|
||||
<xmmintrin.h>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmmintrin.h
|
||||
<mmintrin.h>
|
||||
"xmm_func.h"
|
||||
<malloc.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\mmintrin.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\ammintrin.h
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\mm3dnow.h
|
||||
<crtdefs.h>
|
||||
<mmintrin.h>
|
||||
<xmmintrin.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\armintr.h
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xatomic.h
|
||||
<xatomic0.h>
|
||||
<stddef.h>
|
||||
<stdlib.h>
|
||||
<string.h>
|
||||
<intrin.h>
|
||||
<xutility>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\typeinfo
|
||||
<xstddef>
|
||||
<string.h>
|
||||
<exception>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xlocinfo
|
||||
<xlocinfo.h>
|
||||
<cstdlib>
|
||||
<xstddef>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xlocinfo.h
|
||||
<ctype.h>
|
||||
<locale.h>
|
||||
<wchar.h>
|
||||
<yvals.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\ctype.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\locale.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xdebug
|
||||
<yvals.h>
|
||||
<crtdbg.h>
|
||||
<xmemory>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xmemory
|
||||
<xmemory0>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xfacet
|
||||
<yvals.h>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\system_error
|
||||
<cerrno>
|
||||
<cstdlib>
|
||||
<stdexcept>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\cerrno
|
||||
<yvals.h>
|
||||
<errno.h>
|
||||
<errno.h>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\errno.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412934 c:\program files (x86)\microsoft visual studio 12.0\vc\include\share.h
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdint.h
|
||||
<crtdefs.h>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\string
|
||||
<iterator>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\iterator
|
||||
<istream>
|
||||
<xutility>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\fstream
|
||||
<istream>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\sstream
|
||||
<string>
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\unordered_map
|
||||
<xhash>
|
||||
<tuple>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xhash
|
||||
<cstring>
|
||||
<cwchar>
|
||||
<list>
|
||||
<vector>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\list
|
||||
<xmemory>
|
||||
<stdexcept>
|
||||
|
||||
1374410776 c:\program files (x86)\microsoft visual studio 12.0\vc\include\vector
|
||||
<xmemory>
|
||||
<stdexcept>
|
||||
|
||||
1374412938 c:\program files (x86)\microsoft visual studio 12.0\vc\include\tuple
|
||||
<type_traits>
|
||||
<xutility>
|
||||
<new>
|
||||
|
||||
1374412936 c:\program files (x86)\microsoft visual studio 12.0\vc\include\map
|
||||
<xtree>
|
||||
<tuple>
|
||||
|
||||
1374726946 c:\program files (x86)\microsoft visual studio 12.0\vc\include\xtree
|
||||
<xmemory>
|
||||
<stdexcept>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\iostream
|
||||
<istream>
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\istream
|
||||
<ostream>
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream
|
||||
<ios>
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\ios
|
||||
<xlocnum>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xlocnum
|
||||
<climits>
|
||||
<cmath>
|
||||
<cstdio>
|
||||
<cstdlib>
|
||||
<streambuf>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\climits
|
||||
<yvals.h>
|
||||
<limits.h>
|
||||
|
||||
1258271576 c:\program files (x86)\microsoft visual studio 10.0\vc\include\yvals.h
|
||||
<crtdefs.h>
|
||||
<xkeycheck.h>
|
||||
<crtwrn.h>
|
||||
<use_ansi.h>
|
||||
<crtwrn.h>
|
||||
<crtwrn.h>
|
||||
|
||||
1260264954 c:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdefs.h
|
||||
<sal.h>
|
||||
<vadefs.h>
|
||||
|
||||
1263987576 c:\program files (x86)\microsoft visual studio 10.0\vc\include\sal.h
|
||||
"codeanalysis\sourceannotations.h"
|
||||
|
||||
1263303828 c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\vadefs.h
|
||||
|
||||
1251647994 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xkeycheck.h
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\crtwrn.h
|
||||
<crtdefs.h>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\use_ansi.h
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\limits.h
|
||||
<crtdefs.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\cmath
|
||||
<yvals.h>
|
||||
<math.h>
|
||||
<math.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\math.h
|
||||
<crtdefs.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdio
|
||||
<yvals.h>
|
||||
<stdio.h>
|
||||
<stdio.h>
|
||||
|
||||
1257335008 c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h
|
||||
<crtdefs.h>
|
||||
<swprintf.inl>
|
||||
|
||||
1256197836 c:\program files (x86)\microsoft visual studio 10.0\vc\include\swprintf.inl
|
||||
<vadefs.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstdlib
|
||||
<yvals.h>
|
||||
<stdlib.h>
|
||||
<stdlib.h>
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdlib.h
|
||||
<crtdefs.h>
|
||||
<limits.h>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\streambuf
|
||||
<xiosbase>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xiosbase
|
||||
<xlocale>
|
||||
<system_error>
|
||||
<share.h>
|
||||
|
||||
1263118342 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xlocale
|
||||
<climits>
|
||||
<cstring>
|
||||
<stdexcept>
|
||||
<typeinfo>
|
||||
<xlocinfo>
|
||||
<xdebug>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstring
|
||||
<yvals.h>
|
||||
<string.h>
|
||||
<string.h>
|
||||
|
||||
1260264954 c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h
|
||||
<crtdefs.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdexcept
|
||||
<exception>
|
||||
<xstring>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\exception
|
||||
<xstddef>
|
||||
<eh.h>
|
||||
<malloc.h>
|
||||
<string.h>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstddef
|
||||
<yvals.h>
|
||||
<cstddef>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\cstddef
|
||||
<yvals.h>
|
||||
<stddef.h>
|
||||
<stddef.h>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\stddef.h
|
||||
<crtdefs.h>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\eh.h
|
||||
<crtdefs.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\malloc.h
|
||||
<crtdefs.h>
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xstring
|
||||
<xmemory>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xmemory
|
||||
<cstdlib>
|
||||
<new>
|
||||
<xutility>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\new
|
||||
<exception>
|
||||
|
||||
1258271576 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xutility
|
||||
<climits>
|
||||
<cstdlib>
|
||||
<utility>
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\utility
|
||||
<xstddef>
|
||||
<iosfwd>
|
||||
<type_traits>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\iosfwd
|
||||
<cstdio>
|
||||
<cstring>
|
||||
<cwchar>
|
||||
<xstddef>
|
||||
<crtdbg.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\cwchar
|
||||
<yvals.h>
|
||||
<wchar.h>
|
||||
<wchar.h>
|
||||
|
||||
1257335008 c:\program files (x86)\microsoft visual studio 10.0\vc\include\wchar.h
|
||||
<crtdefs.h>
|
||||
<swprintf.inl>
|
||||
<wtime.inl>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\wtime.inl
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\crtdbg.h
|
||||
<crtdefs.h>
|
||||
|
||||
1263118342 c:\program files (x86)\microsoft visual studio 10.0\vc\include\type_traits
|
||||
<limits>
|
||||
<xtr1common>
|
||||
<xfwrap>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\limits
|
||||
<ymath.h>
|
||||
<cfloat>
|
||||
<climits>
|
||||
<cmath>
|
||||
<cwchar>
|
||||
<xstddef>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\ymath.h
|
||||
<yvals.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\cfloat
|
||||
<yvals.h>
|
||||
<float.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\float.h
|
||||
<crtdefs.h>
|
||||
<crtwrn.h>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xtr1common
|
||||
<yvals.h>
|
||||
|
||||
1263118342 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xfwrap
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
<xfwrap1>
|
||||
|
||||
1263118342 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xfwrap1
|
||||
<xxbind1>
|
||||
<xxcallfun>
|
||||
<xxcallobj>
|
||||
<xxcallpmf>
|
||||
<xxfunction>
|
||||
<xxmem_fn>
|
||||
<xxpmfcaller>
|
||||
<xxrefwrap>
|
||||
<xxresult>
|
||||
<xxshared>
|
||||
<xxtuple0>
|
||||
<xxtuple1>
|
||||
<xxtype_traits>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxbind1
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxcallfun
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxcallobj
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxcallpmf
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxfunction
|
||||
|
||||
1251647994 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxmem_fn
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxpmfcaller
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxrefwrap
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxresult
|
||||
|
||||
1251647994 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxshared
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxtuple0
|
||||
|
||||
1251647994 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxtuple1
|
||||
|
||||
1251647994 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xxtype_traits
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\typeinfo
|
||||
<xstddef>
|
||||
<string.h>
|
||||
<exception>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xlocinfo
|
||||
<xlocinfo.h>
|
||||
<cstdlib>
|
||||
<xstddef>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xlocinfo.h
|
||||
<ctype.h>
|
||||
<locale.h>
|
||||
<wchar.h>
|
||||
<yvals.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\ctype.h
|
||||
<crtdefs.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\locale.h
|
||||
<crtdefs.h>
|
||||
|
||||
1263118342 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xdebug
|
||||
<yvals.h>
|
||||
<crtdbg.h>
|
||||
<xmemory>
|
||||
|
||||
1260264954 c:\program files (x86)\microsoft visual studio 10.0\vc\include\system_error
|
||||
<cerrno>
|
||||
<cstdlib>
|
||||
<stdexcept>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\cerrno
|
||||
<yvals.h>
|
||||
<errno.h>
|
||||
<errno.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\errno.h
|
||||
<crtdefs.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\share.h
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h
|
||||
<yvals.h>
|
||||
|
||||
1257671184 c:\program files (x86)\microsoft visual studio 10.0\vc\include\string
|
||||
<istream>
|
||||
|
||||
1263118342 c:\program files (x86)\microsoft visual studio 10.0\vc\include\fstream
|
||||
<istream>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\sstream
|
||||
<string>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\unordered_map
|
||||
<xhash>
|
||||
|
||||
1263720180 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xhash
|
||||
<cstring>
|
||||
<cwchar>
|
||||
<xfunctional>
|
||||
<list>
|
||||
<vector>
|
||||
|
||||
1251647994 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xfunctional
|
||||
<cstdlib>
|
||||
<xstring>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\list
|
||||
<xfunctional>
|
||||
<memory>
|
||||
<stdexcept>
|
||||
|
||||
1267607544 c:\program files (x86)\microsoft visual studio 10.0\vc\include\memory
|
||||
<xmemory>
|
||||
<exception>
|
||||
<typeinfo>
|
||||
<type_traits>
|
||||
<intrin.h>
|
||||
<xfwrap>
|
||||
<xfwrap>
|
||||
<xfwrap>
|
||||
|
||||
1263118342 c:\program files (x86)\microsoft visual studio 10.0\vc\include\intrin.h
|
||||
<crtdefs.h>
|
||||
<setjmp.h>
|
||||
<stddef.h>
|
||||
<immintrin.h>
|
||||
<mm3dnow.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\setjmp.h
|
||||
<crtdefs.h>
|
||||
<setjmpex.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\setjmpex.h
|
||||
<setjmp.h>
|
||||
|
||||
1251647992 c:\program files (x86)\microsoft visual studio 10.0\vc\include\immintrin.h
|
||||
<wmmintrin.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\wmmintrin.h
|
||||
<nmmintrin.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\nmmintrin.h
|
||||
<smmintrin.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\smmintrin.h
|
||||
<tmmintrin.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\tmmintrin.h
|
||||
<pmmintrin.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\pmmintrin.h
|
||||
<emmintrin.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\emmintrin.h
|
||||
<xmmintrin.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xmmintrin.h
|
||||
<mmintrin.h>
|
||||
"xmm_func.h"
|
||||
<malloc.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\mmintrin.h
|
||||
<crtdefs.h>
|
||||
|
||||
1251642866 c:\program files (x86)\microsoft visual studio 10.0\vc\include\mm3dnow.h
|
||||
<crtdefs.h>
|
||||
<mmintrin.h>
|
||||
<xmmintrin.h>
|
||||
|
||||
1258271576 c:\program files (x86)\microsoft visual studio 10.0\vc\include\vector
|
||||
<memory>
|
||||
<stdexcept>
|
||||
<xfunctional>
|
||||
|
||||
1254299028 c:\program files (x86)\microsoft visual studio 10.0\vc\include\map
|
||||
<xtree>
|
||||
|
||||
1258271576 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xtree
|
||||
<xfunctional>
|
||||
<memory>
|
||||
<stdexcept>
|
||||
|
||||
Reference in New Issue
Block a user