RAUL  0.8.0
Public Types | Public Member Functions | Friends | List of all members
Raul::Atom Class Reference

A piece of data with some type. More...

#include <Atom.hpp>

Public Types

enum  Type {
  NIL , INT , FLOAT , BOOL ,
  URI , STRING , BLOB , DICT
}
 
typedef std::map< Raul::Atom, Raul::AtomDictValue
 

Public Member Functions

 Atom (int32_t val)
 
 Atom (float val)
 
 Atom (bool val)
 
 Atom (const char *val)
 
 Atom (const std::string &val)
 
 Atom (Type t, const std::string &val)
 URI constructor (t must be URI)
 
 Atom (const char *type_uri, size_t size, void *val)
 
 Atom (const DictValue &dict)
 
 Atom (const Atom &copy)
 
Atomoperator= (const Atom &other)
 
bool operator== (const Atom &other) const
 
bool operator!= (const Atom &other) const
 
bool operator< (const Atom &other) const
 
size_t data_size () const
 
bool is_valid () const
 
Type type () const
 Type of this atom. More...
 
int32_t get_int32 () const
 
float get_float () const
 
bool get_bool () const
 
const char * get_string () const
 
const char * get_uri () const
 
const char * get_blob_type () const
 
const void * get_blob () const
 
const DictValue & get_dict () const
 

Friends

class Raul::URI
 

Detailed Description

A piece of data with some type.

Atoms can be of various primitive types (integer, float, etc) as well as a string or primitive. The primitive types are entirely contained within the Atom, i.e. the Atom is POD. String, URI, and blob atoms are not POD.

Member Function Documentation

◆ type()

Type Raul::Atom::type ( ) const
inline

Type of this atom.

Always check this before attempting to get the value - attempting to get the incorrectly typed value is a fatal error.

Referenced by Raul::Configuration::add(), Raul::AtomRDF::atom_to_node(), and Raul::AtomLiblo::lo_message_add_atom().


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