# Ogre::ConfigFile Class Reference
[General]

Class for quickly loading settings from a text file. More...

`#include <OgreConfigFile.h>`

Inheritance diagram for Ogre::ConfigFile:
[legend]

List of all members.

## Public Types

typedef multimap< String, String >::type | SettingsMultiMap
typedef MapIterator < SettingsMultiMap > | SettingsIterator
typedef map< String, SettingsMultiMap * >::type | SettingsBySection
| Gets an iterator for stepping through all the keys / values in the file.
typedef MapIterator < SettingsBySection > | SectionIterator

## Public Member Functions

| ConfigFile ()
virtual | ~ConfigFile ()
void | load (const String &filename, const String &separators="\t:=", bool trimWhitespace=true)
| load from a filename (not using resource group locations)
void | load (const String &filename, const String &resourceGroup, const String &separators="\t:=", bool trimWhitespace=true)
| load from a filename (using resource group locations)
void | load (const DataStreamPtr &stream, const String &separators="\t:=", bool trimWhitespace=true)
| load from a data stream
void | loadDirect (const String &filename, const String &separators="\t:=", bool trimWhitespace=true)
| load from a filename (not using resource group locations)
void | loadFromResourceSystem (const String &filename, const String &resourceGroup, const String &separators="\t:=", bool trimWhitespace=true)
| load from a filename (using resource group locations)
String | getSetting (const String &key, const String &section=StringUtil::BLANK, const String &defaultValue=StringUtil::BLANK) const
| Gets the first setting from the file with the named key.
StringVector | getMultiSetting (const String &key, const String &section=StringUtil::BLANK) const
| Gets all settings from the file with the named key.
SectionIterator | getSectionIterator (void)
| Get an iterator over all the available sections in the config file.
SettingsIterator | getSettingsIterator (const String &section=StringUtil::BLANK)
| Get an iterator over all the available settings in a section.
void | clear (void)
| Clear the settings.
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)

## Protected Attributes

SettingsBySection | mSettings

## Detailed Description

Class for quickly loading settings from a text file.

Remarks:
  This class is designed to quickly parse a simple file containing key/value pairs, mainly for use in configuration settings.

  This is a very simplified approach, no multiple values per key are allowed, no grouping or context is being kept etc.

  By default the key/values pairs are tokenised based on a separator of Tab, the colon (:) or equals (=) character. Each key - value pair must end in a carriage return.

  Settings can be optionally grouped in sections, using a header beforehand of the form [SectionName].

Definition at line 61 of file OgreConfigFile.h.

## Member Typedef Documentation

typedef MapIterator<SettingsBySection> Ogre::ConfigFile::SectionIterator

Definition at line 91 of file OgreConfigFile.h.

typedef map<String, SettingsMultiMap*>::type Ogre::ConfigFile::SettingsBySection

Gets an iterator for stepping through all the keys / values in the file.

Definition at line 90 of file OgreConfigFile.h.

typedef MapIterator<SettingsMultiMap> Ogre::ConfigFile::SettingsIterator

Definition at line 88 of file OgreConfigFile.h.

typedef multimap<String, String>::type Ogre::ConfigFile::SettingsMultiMap

Definition at line 87 of file OgreConfigFile.h.

## Constructor & Destructor Documentation

Ogre::ConfigFile::ConfigFile | ( |  | ) |

virtual Ogre::ConfigFile::~ConfigFile | ( |  | ) | `[virtual]`

## Member Function Documentation

void Ogre::ConfigFile::clear | ( | void |  | ) |

Clear the settings.

StringVector Ogre::ConfigFile::getMultiSetting | ( | const String & | key,
|  | const String & | section = `StringUtil::BLANK` |
| ) |  |  | const

Gets all settings from the file with the named key.

SectionIterator Ogre::ConfigFile::getSectionIterator | ( | void |  | ) |

Get an iterator over all the available sections in the config file.

String Ogre::ConfigFile::getSetting | ( | const String & | key,
|  | const String & | section = `StringUtil::BLANK`,
|  | const String & | defaultValue = `StringUtil::BLANK` |
| ) |  |  | const

Gets the first setting from the file with the named key.

Parameters:

  | key | The name of the setting
  | section | The name of the section it must be in (if any)
  | defaultValue | The value to return if the setting is not found

SettingsIterator Ogre::ConfigFile::getSettingsIterator | ( | const String & | section = `StringUtil::BLANK` | ) |

Get an iterator over all the available settings in a section.

void Ogre::ConfigFile::load | ( | const String & | filename,
|  | const String & | resourceGroup,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true` |
| ) |  |  |

load from a filename (using resource group locations)

void Ogre::ConfigFile::load | ( | const DataStreamPtr & | stream,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true` |
| ) |  |  |

load from a data stream

void Ogre::ConfigFile::load | ( | const String & | filename,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true` |
| ) |  |  |

load from a filename (not using resource group locations)

void Ogre::ConfigFile::loadDirect | ( | const String & | filename,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true` |
| ) |  |  |

load from a filename (not using resource group locations)

void Ogre::ConfigFile::loadFromResourceSystem | ( | const String & | filename,
|  | const String & | resourceGroup,
|  | const String & | separators = `"\t:="`,
|  | bool | trimWhitespace = `true` |
| ) |  |  |

load from a filename (using resource group locations)

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr |
| ) |  |  | `[inherited]`

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | `[inherited]`

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | `[inherited]`

Definition at line 90 of file OgreMemoryAllocatedObject.h.

## Member Data Documentation

SettingsBySection Ogre::ConfigFile::mSettings `[protected]`

Definition at line 102 of file OgreConfigFile.h.

The documentation for this class was generated from the following file:

- OgreConfigFile.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Wed Nov 3 2010 19:24:54