CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::DB::Named< Base > Class Template Reference

#include <Named.hh>

+ Inheritance diagram for CASM::DB::Named< Base >:

Detailed Description

template<typename Base>
class CASM::DB::Named< Base >

CRTP Mixin for 'named' database objects with no id

  • MostDerived should implement:
    • std::string MostDerived::generate_name_impl() const
    • const PrimClex& MostDerived::primclex_impl() const
  • Use one of Indexed or Named

Definition at line 23 of file Named.hh.

Public Types

typedef Base::MostDerived MostDerived
 

Public Member Functions

 Named ()
 
std::string name () const
 
std::string alias () const
 Return "alias" if object stored in database and alias exists, return empty string otherwise. More...
 

Protected Member Functions

void clear_name () const
 Unset "name", if object is modified. More...
 
void regenerate_name () const
 Regenerate "name". More...
 
void set_name (std::string _name) const
 Set "name", explicity. More...
 

Private Attributes

std::string m_name
 

Member Typedef Documentation

◆ MostDerived

template<typename Base >
typedef Base::MostDerived CASM::DB::Named< Base >::MostDerived

Definition at line 25 of file Named.hh.

Constructor & Destructor Documentation

◆ Named()

template<typename Base >
CASM::DB::Named< Base >::Named

Definition at line 11 of file Named_impl.hh.

Member Function Documentation

◆ alias()

template<typename Base >
std::string CASM::DB::Named< Base >::alias

Return "alias" if object stored in database and alias exists, return empty string otherwise.

Definition at line 24 of file Named_impl.hh.

◆ clear_name()

template<typename Base >
void CASM::DB::Named< Base >::clear_name
protected

Unset "name", if object is modified.

Definition at line 30 of file Named_impl.hh.

◆ name()

template<typename Base >
std::string CASM::DB::Named< Base >::name

Definition at line 14 of file Named_impl.hh.

◆ regenerate_name()

template<typename Base >
void CASM::DB::Named< Base >::regenerate_name
protected

Regenerate "name".

Definition at line 36 of file Named_impl.hh.

◆ set_name()

template<typename Base >
void CASM::DB::Named< Base >::set_name ( std::string  _name) const
protected

Set "name", explicity.

Set "name", explicity modified.

Definition at line 42 of file Named_impl.hh.

Member Data Documentation

◆ m_name

template<typename Base >
std::string CASM::DB::Named< Base >::m_name
mutableprivate

Definition at line 47 of file Named.hh.


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