Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

plistCollections.h File Reference

#include "plistPrimitives.h"
#include <map>
#include <vector>
#include <set>
#include <regex.h>
Include dependency graph for plistCollections.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  plist::Collection
struct  plist::Collection::conversion_policy< U, V >
 Specifies that a collection of collections cannot contain any primitive values. More...
struct  plist::AutoCollectionListener
 Monitors a collection to keep tabs on all its entries, so PrimitiveListener::plistValueChanged will be called if any entry is changed. More...
struct  plist::CollectionCallbackMember< O >
 Produces a callback on a member function when a value in the collection changes. More...
class  plist::DictionaryBase
 Maintains a set of (key,value) pairs, see DictionaryOf, and the Dictionary typedef. More...
struct  plist::DictionaryBase::DeniedValueConversions
 Indicates that no value conversions are allowed. More...
struct  plist::DictionaryBase::EntryConstraint< PO >
 This base conversion policy doesn't actually specify any conversions at all -- this serves as a base class to provide the ability to directly add entries of the specified type; the subclasses will add value conversions. More...
struct  plist::DictionaryBase::StringConversion
 Abstract base class to test whether the collection will accept strings (possibly converting to a value type, or storing directly as string depending on concrete type). More...
struct  plist::DictionaryBase::IntegerConversion
 Abstract base class to test whether the collection will accept integers (possibly converting to another value type, or storing directly as a [unsigned] long depending on concrete type). More...
struct  plist::DictionaryBase::RealConversion
 Abstract base class to test whether the collection will accept floating point numbers (possibly converting to another value type, or storing directly as a double depending on concrete type). More...
struct  plist::DictionaryBase::ConversionTo< PO >
 This conversion policy accepts entries of the specified template type, and will try to create new instances of that type constructed from any values which are passed. More...
struct  plist::DictionaryBase::WrapValueConversion< PO >
 This conversion policy accepts any entries of the specified template type, values will be directly wrapped as Primitives so no conversion at all is actually performed. More...
struct  plist::DictionaryBase::ConversionTo< plist::Primitive< float > >
 This is a specialization for float conversions to add RealConversions. More...
struct  plist::DictionaryBase::ConversionTo< plist::Primitive< double > >
 This is a specialization for double conversions to add RealConversions. More...
class  plist::DictionaryOf< PO, Alloc >
 A dictionary which requires all elements to be subtypes of the PO template argument. More...
class  plist::ArrayBase
 Maintains an array of value, see ArrayOf, and the Array typedef. More...
struct  plist::ArrayBase::DeniedValueConversions
 Indicates that no value conversions are allowed. More...
struct  plist::ArrayBase::EntryConstraint< PO >
struct  plist::ArrayBase::StringConversion
 Abstract base class to test whether the collection will accept strings (possibly converting to a value type, or storing directly as string depending on concrete type). More...
struct  plist::ArrayBase::IntegerConversion
 Abstract base class to test whether the collection will accept integers (possibly converting to another value type, or storing directly as a [unsigned] long depending on concrete type). More...
struct  plist::ArrayBase::RealConversion
 Abstract base class to test whether the collection will accept floating point numbers (possibly converting to another value type, or storing directly as a double depending on concrete type). More...
struct  plist::ArrayBase::ConversionTo< PO >
 This conversion policy accepts entries of the specified template type, and will try to create new instances of that type constructed from any values which are passed. More...
struct  plist::ArrayBase::WrapValueConversion< PO >
 This conversion policy accepts any entries of the specified template type, values will be directly wrapped as Primitives so no conversion at all is actually performed. More...
class  plist::ArrayOf< PO, Alloc >
 A collection of plist objects, similar to a Dictionary, but no keys -- order matters!, see plist::Array. More...

Namespaces

namespace  plist
 

A collection of classes to implement the Propery List data storage format, a XML standard used by Apple and others.


Typedefs

typedef DictionaryOf< ObjectBase > plist::Dictionary
typedef ArrayOf< ObjectBase > plist::Array

Functions

template<>
SensorInfoplist::loadXML (xmlNode *node)
 This specialization looks for the SensorInfo::sensorType, then has the factory construct the correct subtype before loading the node into and returning that.
template<class T >
T * plist::allocate ()
 allocates a new T instance, unless T is a known abstract type (ObjectBase, PrimitiveBase, Collection), in which case will throw a bad_cast via template specialization
template<class T >
void plist::assign (T &a, const T &b)
 assigns one T to another using operator=, unless T is ObjectBase, in which case set() is used via template specialization
template<class T >
T * plist::loadXML (xmlNode *node)
std::ostream & plist::filteredDisplay (std::ostream &os, const ObjectBase &c, const std::string &sel, int selType, unsigned int depth)
 take a regex and maximum depth for display (displays entries whos names match the filter sel
std::ostream & plist::filteredDisplay (std::ostream &os, const ObjectBase &c, const regex_t *reg, unsigned int depth)
 take a compiled regex and maximum depth for display
std::ostream & plist::operator<< (std::ostream &os, const DictionaryBase &d)
 provides textual output
std::ostream & plist::operator<< (std::ostream &os, const ArrayBase &d)
 provides textual output

Detailed Description

Author:
Ethan Tira-Thompson (ejt) (Creator)

Definition in file plistCollections.h.


Tekkotsu v5.1CVS
Generated Mon May 9 04:59:00 2016 by Doxygen 1.6.3