Raul::Atom Class Reference
Realtime Audio Utility Library

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::Atom > | DictValue

## 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)
Atom & | operator= (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 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:

- Atom.hpp