libelemental  2.0.0
Classes | Namespaces | Typedefs
element.hh File Reference
#include <libelemental/value.hh>
#include <libelemental/value-types.hh>
#include <list>
#include <stdexcept>
#include <vector>
#include <libelemental/properties.hh>
#include <libelemental/element.tcc>

Classes

class  Elemental::PropertyBase
 A property of the chemical elements. More...
 
class  Elemental::Property< T >
 A typed property of the chemical elements. More...
 
class  Elemental::Property< Float >
 A floating-point property of the chemical elements. More...
 
class  Elemental::Category
 A category of properties of the chemical elements. More...
 
class  Elemental::Element
 A chemical element. More...
 

Namespaces

 Elemental
 A periodic table library with detailed information on elements.
 

Typedefs

typedef Property< Float > Elemental::FloatProperty
 A floating-point property of the chemical elements.
 

Detailed Description

Property, Category, and Element classes.

Elemental::Series::POST_TRANSITION_METAL
@ POST_TRANSITION_METAL
post-transition metals
Definition: value-types.hh:144
Elemental::Series
A qualified value representing a chemical series.
Definition: value-types.hh:130
Elemental::LatticeType::TRI
@ TRI
triclinic
Definition: value-types.hh:263
Elemental::Phase::LIQUID
@ LIQUID
liquid
Definition: value-types.hh:225
Elemental::PropertyBase::name
Message name
The untranslated name of the property.
Definition: element.hh:89
element.hh
Elemental::Table
std::vector< const Element * > Table
The periodic table of elements.
Definition: table.hh:38
Elemental::Event::when
int when
The year in which the event occurred, if defined.
Definition: value-types.hh:114
Elemental::Element::symbol
std::string symbol
The chemical symbol for this element.
Definition: element.hh:236
Elemental::color::red
double red
The red component of the color in the RGB space.
Definition: value.hh:77
Elemental::Message::value
ustring value
The untranslated message, if defined.
Definition: value-types.hh:74
Elemental::LatticeType::MONO
@ MONO
monoclinic
Definition: value-types.hh:264
Elemental::color::get_compliment
color get_compliment() const
Returns a grayscale color complimentary in luminance to this color.
Elemental::Event::compare_base
virtual int compare_base(const value_base &other) const
Compares the qualifications of two events.
Elemental::LatticeType::HEX
@ HEX
hexagonal
Definition: value-types.hh:268
Elemental::LatticeType::ORTH
@ ORTH
orthorhombic
Definition: value-types.hh:265
Elemental::Q_NA
@ Q_NA
Indicates that a value is not applicable for an element.
Definition: value.hh:53
Elemental::PropertyBase::format
Message format
An untranslated compose-style format for values of the property.
Definition: element.hh:92
Elemental::Q_EST
@ Q_EST
Indicates that a value is estimated or calculated.
Definition: value.hh:54
Elemental::LatticeType::BCC
@ BCC
body-centered cubic
Definition: value-types.hh:270
Elemental::Q_NEUTRAL
@ Q_NEUTRAL
Indicates a presumably valid value.
Definition: value.hh:51
Elemental::FloatProperty
Property< Float > FloatProperty
A floating-point property of the chemical elements.
Definition: element.hh:169
Elemental::Phase::SOLID
@ SOLID
solid
Definition: value-types.hh:224
Elemental::Series::Series
Series(const Value &source, Qualifier qualifier=Q_NEUTRAL)
Constructs a new defined series.
Elemental::Series::ALKALI_METAL
@ ALKALI_METAL
alkali metals
Definition: value-types.hh:140
value-types.hh
Elemental::Block::P
@ P
p-block (principal)
Definition: value-types.hh:185
Elemental::value_base::qualifier
Qualifier qualifier
The qualification of the value's meaning.
Definition: value.hh:184
Elemental::PropertyBase::make_entry
void make_entry(EntriesView &view, const value_base &value) const
Possibly adds a value for this property to an EntriesView.
Elemental::STANDARD_TEMPERATURE
const double STANDARD_TEMPERATURE
The standard temperature, in Kelvin, as defined by IUPAC.
Elemental::color::color
color(double red=0.0, double green=0.0, double blue=0.0)
Constructs a new color with red, green, and blue percentages.
Elemental::PropertyBase::get_name
ustring get_name() const
Returns the translated name of the property.
Elemental::ValueList
A qualified list of values of a generic type.
Definition: value.hh:333
Elemental::color::composite
color composite(const color &other, double alpha) const
Returns a composite of this color and another.
Elemental
A periodic table library with detailed information on elements.
Definition: value.hh:40
Elemental::ColorValue::value
color value
The display color, if defined.
Definition: value-types.hh:328
Elemental::Series::value
Value value
The value, if defined.
Definition: value-types.hh:166
Elemental::CATEGORIES
std::list< Category * > CATEGORIES
The categories of available properties of the chemical elements.
Elemental::color::get_hex_spec
std::string get_hex_spec() const
Returns a hexadecimal specification of the color ("#rrggbb" format).
Elemental::Event::do_get_string
virtual ustring do_get_string(const ustring &format) const
Returns a localized text representation of a defined value.
Elemental::Message
A qualified UTF-8 string value that requires translation.
Definition: value-types.hh:52
Elemental::Series::SEMIMETAL
@ SEMIMETAL
semimetals
Definition: value-types.hh:142
Elemental::Value< double >
Elemental::Element::number
AtomicNumber number
The atomic number of this element.
Definition: element.hh:239
Elemental::Message::compare
virtual int compare(const value_base &other) const
Compares two qualified values.
Elemental::Category::properties
std::list< PropertyBase * > properties
The properties in the category.
Definition: element.hh:186
Elemental::Qualifier
Qualifier
A qualification of the meaning of a value.
Definition: value.hh:49
Elemental::PropertyBase::has_format
bool has_format() const
Returns whether a compose-style format for values is defined.
Elemental::PropertyBase::description
Message description
An untranslated explanatory description of the property.
Definition: element.hh:95
Elemental::EntriesView
An interface for the display of value entries.
Definition: value.hh:104
Elemental::Element
A chemical element.
Definition: element.hh:202
Elemental::Float
Value< double > Float
A qualified floating-point value.
Definition: value-types.hh:34
Elemental::PropertyBase::get_description
ustring get_description() const
Returns a translated explanatory description of the property.
Elemental::Series::NONMETAL
@ NONMETAL
nonmetals
Definition: value-types.hh:138
Elemental::Property
A typed property of the chemical elements.
Definition: element.hh:102
Elemental::Event
A qualified value representing the time and location of an event.
Definition: value-types.hh:85
Elemental::PropertyBase::is_colorable
virtual bool is_colorable() const
Returns whether values of the property have color representations.
Elemental::Value::value
T value
The value, if defined.
Definition: value.hh:313
Elemental::EntriesStream
An adapter for the display of value entries on an output stream.
Definition: value.hh:141
Elemental::Int
Value< long > Int
A qualified integer value.
Definition: value-types.hh:37
Elemental::Category::name
Message name
The untranslated name of the category.
Definition: element.hh:195
Elemental::Category
A category of properties of the chemical elements.
Definition: element.hh:174
Elemental::Series::TRANSITION_METAL
@ TRANSITION_METAL
transition metals
Definition: value-types.hh:145
Elemental::Event::Event
Event(int when, const ustring &where, Qualifier qualifier=Q_NEUTRAL)
Constructs a new defined event.
Elemental::get_table
const Table & get_table()
Returns the periodic table of elements.
Elemental::PropertyBase::get_format
ustring get_format() const
Returns a translated compose-style format for values of the property.
Elemental::Phase::Value
Value
The possible phase values.
Definition: value-types.hh:222
value.hh
Elemental::Message::do_get_string
virtual ustring do_get_string(const ustring &format) const
Returns a localized text representation of a defined value.
Elemental::PropertyBase::sources
std::list< const Message * > sources
Citations for the sources of values for the property.
Definition: element.hh:68
Elemental::Event::where
ustring where
The place in which the event occurred, if defined.
Definition: value-types.hh:117
Elemental::Block
A qualified value representing a periodic table block.
Definition: value-types.hh:176
Elemental::Series::compare
virtual int compare(const value_base &other) const
Compares two qualified values.
Elemental::initialize
void initialize()
Initializes libelemental.
Elemental::LatticeType::SC
@ SC
simple cubic
Definition: value-types.hh:269
Elemental::Series::ACTINIDE
@ ACTINIDE
actinides
Definition: value-types.hh:147
Elemental::LatticeType::RHO
@ RHO
rhombohedral
Definition: value-types.hh:267
Elemental::ValueList::values
std::vector< T > values
The values, if defined.
Definition: value.hh:358
Elemental::Block::D
@ D
d-block (diffuse)
Definition: value-types.hh:186
Elemental::Series::LANTHANIDE
@ LANTHANIDE
lanthanides
Definition: value-types.hh:146
Elemental::LatticeType::Value
Value
The possible lattice type values.
Definition: value-types.hh:261
Elemental::Phase
A qualified value representing a phase of matter.
Definition: value-types.hh:216
Elemental::get_element
const Element & get_element(AtomicNumber number)
Returns the element with a given atomic number.
Elemental::Q_UNK
@ Q_UNK
Indicates that a value is unknown or unavailable.
Definition: value.hh:52
Elemental::Series::Value
Value
The possible chemical series values.
Definition: value-types.hh:136
Elemental::color::green
double green
The green component of the color in the RGB space.
Definition: value.hh:80
Elemental::ColorValue
A qualified value representing a display color.
Definition: value-types.hh:301
Elemental::Block::Value
Value
The possible lattice type values.
Definition: value-types.hh:182
Elemental::FloatList
ValueList< double > FloatList
A qualified list of floating-point values.
Definition: value-types.hh:43
Elemental::Message::get_string
virtual ustring get_string(const ustring &format=ustring()) const
Returns a localized text representation of the value.
Elemental::PropertyBase
A property of the chemical elements.
Definition: element.hh:45
Elemental::Series::NOBLE_GAS
@ NOBLE_GAS
noble gases
Definition: value-types.hh:139
Elemental::Series::do_get_string
virtual ustring do_get_string(const ustring &format) const
Returns a localized text representation of a defined value.
Elemental::Series::HALOGEN
@ HALOGEN
halogens
Definition: value-types.hh:143
Elemental::Series::get_color
virtual color get_color() const
Returns a color representing the value.
Elemental::color
A color description.
Definition: value.hh:66
Elemental::String
Value< ustring > String
A qualified UTF-8 string value that does not require translation.
Definition: value-types.hh:40
Elemental::Property< Float >
A floating-point property of the chemical elements.
Definition: element.hh:115
Elemental::LatticeType::TET
@ TET
tetragonal
Definition: value-types.hh:266
Elemental::AtomicNumber
unsigned int AtomicNumber
An atomic number.
Definition: value.hh:60
Elemental::Block::S
@ S
s-block (sharp)
Definition: value-types.hh:184
Elemental::IntList
ValueList< long > IntList
A qualified list of integer values.
Definition: value-types.hh:46
Elemental::color_value_base
A base class for qualified values which have representative colors.
Definition: value.hh:262
Elemental::LatticeType
A qualified value representing a Bravais lattice type.
Definition: value-types.hh:255
Elemental::color::get_luminance
double get_luminance() const
Returns the luminous intensity of the color.
Elemental::Event::get_string
virtual ustring get_string(const ustring &format=ustring()) const
Returns a localized text representation of the event.
Elemental::value_base
A base class for qualified values.
Definition: value.hh:177
Elemental::Q_ISO
@ Q_ISO
Indicates a value for the most stable isotope of an element.
Definition: value.hh:56
Elemental::Series::ALKALINE_EARTH_METAL
@ ALKALINE_EARTH_METAL
alkaline earth metals
Definition: value-types.hh:141
Elemental::Event::compare
virtual int compare(const value_base &other) const
Compares two qualified values.
Elemental::Q_CA
@ Q_CA
Indicates that a value is approximate.
Definition: value.hh:55
Elemental::color::blue
double blue
The blue component of the color in the RGB space.
Definition: value.hh:83
Elemental::Message::Message
Message(const char *source, Qualifier qualifier=Q_NEUTRAL)
Constructs a new defined message.