Kea  1.9.9-git
data.h File Reference
#include <stdint.h>
#include <string>
#include <vector>
#include <map>
#include <boost/shared_ptr.hpp>
#include <stdexcept>
#include <exceptions/exceptions.h>
+ Include dependency graph for data.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  isc::data::BoolElement
 
class  isc::data::DoubleElement
 
class  isc::data::Element
 The Element class represents a piece of data, used by the command channel and configuration parts. More...
 
class  isc::data::IntElement
 Notes: IntElement type is changed to int64_t. More...
 
class  isc::data::JSONError
 A standard Data module exception that is thrown if a parse error is encountered when constructing an Element from a string. More...
 
class  isc::data::ListElement
 
class  isc::data::MapElement
 
class  isc::data::NullElement
 
struct  isc::data::Element::Position
 Represents the position of the data element within a configuration string. More...
 
class  isc::data::StringElement
 
class  isc::data::TypeError
 A standard Data module exception that is thrown if a function is called for an Element that has a wrong type (e.g. More...
 

Namespaces

 isc
 Defines the logger used by the top-level component of kea-dhcp-ddns.
 
 isc::data
 

Macros

#define throwTypeError(error)
 Add the position to a TypeError message should be used in place of isc_throw(TypeError, error) More...
 

Typedefs

typedef boost::shared_ptr< const Element > isc::data::ConstElementPtr
 
typedef boost::shared_ptr< Element > isc::data::ElementPtr
 

Functions

ElementPtr isc::data::copy (ConstElementPtr from, int level=100)
 Copy the data up to a nesting level. More...
 
bool isc::data::isEquivalent (ConstElementPtr a, ConstElementPtr b)
 Compares the data with other using unordered lists. More...
 
bool isc::data::isNull (ConstElementPtr p)
 Checks whether the given ElementPtr is a NULL pointer. More...
 
void isc::data::merge (ElementPtr element, ConstElementPtr other)
 Merges the data from other into element. More...
 
bool isc::data::operator!= (const Element &a, const Element &b)
 
std::ostream & isc::data::operator<< (std::ostream &out, const Element::Position &pos)
 Insert Element::Position as a string into stream. More...
 
std::ostream & isc::data::operator<< (std::ostream &out, const Element &e)
 Insert the Element as a string into stream. More...
 
bool isc::data::operator== (const Element &a, const Element &b)
 
void isc::data::prettyPrint (ConstElementPtr element, std::ostream &out, unsigned indent=0, unsigned step=2)
 Pretty prints the data into stream. More...
 
std::string isc::data::prettyPrint (ConstElementPtr element, unsigned indent=0, unsigned step=2)
 Pretty prints the data into string. More...
 
void isc::data::removeIdentical (ElementPtr a, ConstElementPtr b)
 Remove all values from the first ElementPtr that are equal in the second. More...
 
ConstElementPtr isc::data::removeIdentical (ConstElementPtr a, ConstElementPtr b)
 Create a new ElementPtr from the first ElementPtr, removing all values that are equal in the second. More...
 

Macro Definition Documentation

#define throwTypeError (   error)
Value:
{ \
std::string msg_ = error; \
if ((position_.file_ != "") || \
(position_.line_ != 0) || \
(position_.pos_ != 0)) { \
msg_ += " in (" + position_.str() + ")"; \
} \
isc_throw(TypeError, msg_); \
}
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
if(!(yy_init))

Add the position to a TypeError message should be used in place of isc_throw(TypeError, error)

Definition at line 183 of file data.h.

Referenced by isc::data::Element::add(), isc::data::Element::boolValue(), isc::data::Element::contains(), isc::data::Element::doubleValue(), isc::data::Element::empty(), isc::data::Element::find(), isc::data::Element::get(), isc::data::Element::getNonConst(), isc::data::Element::intValue(), isc::data::Element::listValue(), isc::data::Element::mapValue(), isc::data::Element::remove(), isc::data::Element::set(), isc::data::Element::size(), and isc::data::Element::stringValue().