libelemental 1.2.0
Classes | Typedefs | Enumerations | Functions | Variables

Elemental Namespace Reference

A periodic table library with detailed information on elements. More...

Classes

struct  color
 A color description. More...
class  EntriesView
 An interface for the display of value entries. More...
class  EntriesStream
 An adapter for the display of value entries on an output stream. More...
class  value_base
 A base class for qualified values. More...
class  color_value_base
 A base class for qualified values which have representative colors. More...
class  Value
 A qualified value of a generic type. More...
class  ValueList
 A qualified list of values of a generic type. More...
class  Message
 A qualified UTF-8 string value that requires translation. More...
class  Event
 A qualified value representing the time and location of an event. More...
class  Series
 A qualified value representing a chemical series. More...
class  Block
 A qualified value representing a periodic table block. More...
class  Phase
 A qualified value representing a phase of matter. More...
class  LatticeType
 A qualified value representing a Bravais lattice type. More...
class  ColorValue
 A qualified value representing a display color. More...
class  PropertyBase
 A property of the chemical elements. More...
class  Property
 A typed property of the chemical elements. More...
class  Property< Float >
 A floating-point property of the chemical elements. More...
class  Category
 A category of properties of the chemical elements. More...
class  Element
 A chemical element. More...

Typedefs

typedef unsigned int AtomicNumber
 An atomic number.
typedef Value< double > Float
 A qualified floating-point value.
typedef Value< long > Int
 A qualified integer value.
typedef Value< ustring > String
 A qualified UTF-8 string value that does not require translation.
typedef ValueList< double > FloatList
 A qualified list of floating-point values.
typedef ValueList< long > IntList
 A qualified list of integer values.
typedef Property< FloatFloatProperty
 A floating-point property of the chemical elements.
typedef std::vector< const
Element * > 
Table
 The periodic table of elements.

Enumerations

enum  Qualifier {
  Q_NEUTRAL,
  Q_UNK,
  Q_NA,
  Q_EST,
  Q_CA,
  Q_ISO
}
 

A qualification of the meaning of a value.

More...

Functions

void initialize () throw ()
 Initializes libelemental.
const Tableget_table () throw ()
 Returns the periodic table of elements.
const Elementget_element (AtomicNumber number) throw (std::out_of_range)
 Returns the element with a given atomic number.
const Elementget_element (const std::string &which) throw (std::invalid_argument)
 Returns the element with a given symbol or atomic number.

Variables

const double STANDARD_TEMPERATURE
 The standard temperature, in Kelvin, as defined by IUPAC.
std::list< Category * > CATEGORIES
 The categories of available properties of the chemical elements.
General Properties
Category C_GENERAL
 General
Property< MessageP_NAME
 Name
Property< StringP_OFFICIAL_NAME
 Official name
Property< StringP_ALTERNATE_NAME
 Alternate name
Property< std::string > P_SYMBOL
 Symbol
Property< AtomicNumberP_NUMBER
 Atomic number
Property< SeriesP_SERIES
 Series
Property< IntP_GROUP
 Group
Property< IntP_PERIOD
 Period
Property< BlockP_BLOCK
 Block
Historical Properties
Category C_HISTORICAL
 Historical
Property< EventP_DISCOVERY
 Discovery
Property< MessageP_DISCOVERED_BY
 Discovered by
Property< MessageP_ETYMOLOGY
 Etymology
Physical Properties
Category C_PHYSICAL
 Physical
Property< PhaseP_PHASE
 Phase
Property< FloatP_DENSITY_SOLID
 Density, solid
Property< FloatP_DENSITY_LIQUID
 Density, liquid
Property< FloatP_DENSITY_GAS
 Density, gas
Property< MessageP_APPEARANCE
 Appearance
Thermal Properties
Category C_THERMAL
 Thermal
Property< FloatP_MELTING_POINT
 Melting point
Property< FloatP_BOILING_POINT
 Boiling point
Property< FloatP_FUSION_HEAT
 Heat of fusion
Property< FloatP_VAPORIZATION_HEAT
 Heat of vaporization
Property< FloatP_SPECIFIC_HEAT
 Specific heat capacity
Property< FloatP_THERMAL_CONDUCTIVITY
 Thermal conductivity
Property< FloatP_DEBYE_TEMPERATURE
 Debye temperature
Atomic Properties
Category C_ATOMIC
 Atomic
Property< FloatP_ATOMIC_MASS
 Atomic mass
Property< FloatP_ATOMIC_VOLUME
 Atomic volume
Property< FloatP_ATOMIC_RADIUS
 Atomic radius
Property< FloatP_COVALENT_RADIUS
 Covalent radius
Property< FloatP_VAN_DER_WAALS_RADIUS
 Van der Waals radius
Property< StringP_IONIC_RADII
 Ionic radii
Crystallographic Properties
Category C_CRYSTALLOGRAPHIC
 Crystallographic
Property< LatticeTypeP_LATTICE_TYPE
 Lattice type
Property< IntP_SPACE_GROUP
 Space group
Property< FloatListP_LATTICE_EDGES
 Lattice edge lengths
Property< FloatListP_LATTICE_ANGLES
 Lattice angles
Property< FloatP_LATTICE_VOLUME
 Lattice unit volume
Electronic Properties
Category C_ELECTRONIC
 Electronic
Property< StringP_CONFIGURATION
 Electron configuration
Property< IntListP_OXIDATION_STATES
 Oxidation states
Property< FloatP_ELECTRONEGATIVITY
 Electronegativity
Property< FloatP_ELECTRON_AFFINITY
 Electron affinity
Property< FloatP_FIRST_ENERGY
 First ionization energy
Miscellaneous Properties
Category C_MISCELLANEOUS
 Miscellaneous
Property< ColorValueP_COLOR
 Symbolic color
Property< MessageP_NOTES
 Notes

Detailed Description

A periodic table library with detailed information on elements.


Enumeration Type Documentation

A qualification of the meaning of a value.

Enumerator:
Q_NEUTRAL 

Indicates a presumably valid value.

Q_UNK 

Indicates that a value is unknown or unavailable.

Q_NA 

Indicates that a value is not applicable for an element.

Q_EST 

Indicates that a value is estimated or calculated.

Q_CA 

Indicates that a value is approximate.

Q_ISO 

Indicates a value for the most stable isotope of an element.


Function Documentation

const Element& Elemental::get_element ( AtomicNumber  number) throw (std::out_of_range)

Returns the element with a given atomic number.

Parameters:
numberThe atomic number of an element.
Returns:
A reference to the corresponding element.
Exceptions:
std::out_of_rangeif the atomic number is invalid.
const Element& Elemental::get_element ( const std::string &  which) throw (std::invalid_argument)

Returns the element with a given symbol or atomic number.

Parameters:
whichThe standard symbol of an element, or the string representation of the atomic number of an element.
Returns:
A reference to the corresponding element.
Exceptions:
std::invalid_argumentif the symbol or number is invalid.
const Table& Elemental::get_table ( ) throw ()

Returns the periodic table of elements.

The table is a singleton.

void Elemental::initialize ( ) throw ()

Initializes libelemental.

This function may be called more than once. This function, or one of the get_table() or get_element() functions, which call it, should be called before any other features in the library are used.