CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::OrbitGenerators< _OrbitType > Struct Template Reference

#include <OrbitGeneration.hh>

Detailed Description

template<typename _OrbitType>
struct CASM::OrbitGenerators< _OrbitType >

Data structure that holds canonical generating elements and can then make sorted orbits.

Definition at line 41 of file OrbitGeneration.hh.

Public Types

typedef _OrbitType OrbitType
 
typedef OrbitType::Element Element
 
typedef OrbitType::SymCompareType SymCompareType
 

Public Member Functions

 OrbitGenerators (const SymGroup &_group, const SymCompareType &_sym_compare)
 
std::pair< typename OrbitGeneratorSet< OrbitType >::iterator, bool > insert (const Element &test)
 Try inserting an element, after generating the canonical form. More...
 
std::pair< typename OrbitGeneratorSet< OrbitType >::iterator, bool > insert_canonical (const Element &test)
 Try inserting an element, assuming it is in canonical form. More...
 
template<typename OrbitOutputIterator >
OrbitOutputIterator make_orbits (OrbitOutputIterator result)
 Construct Orbit from all generating elements. More...
 

Public Attributes

const SymGroupgroup
 
const SymCompareTypesym_compare
 
OrbitGeneratorSet< OrbitTypeelements
 

Private Attributes

OrbitGeneratorCompare< OrbitTypem_element_compare
 
CanonicalGenerator< OrbitTypem_generate_canonical
 

Member Typedef Documentation

◆ Element

template<typename _OrbitType >
typedef OrbitType::Element CASM::OrbitGenerators< _OrbitType >::Element

Definition at line 43 of file OrbitGeneration.hh.

◆ OrbitType

template<typename _OrbitType >
typedef _OrbitType CASM::OrbitGenerators< _OrbitType >::OrbitType

Definition at line 42 of file OrbitGeneration.hh.

◆ SymCompareType

template<typename _OrbitType >
typedef OrbitType::SymCompareType CASM::OrbitGenerators< _OrbitType >::SymCompareType

Definition at line 44 of file OrbitGeneration.hh.

Constructor & Destructor Documentation

◆ OrbitGenerators()

template<typename _OrbitType >
CASM::OrbitGenerators< _OrbitType >::OrbitGenerators ( const SymGroup _group,
const SymCompareType _sym_compare 
)

Definition at line 10 of file OrbitGeneration_impl.hh.

Member Function Documentation

◆ insert()

template<typename _OrbitType >
std::pair< typename OrbitGeneratorSet< _OrbitType >::iterator, bool > CASM::OrbitGenerators< _OrbitType >::insert ( const Element test)

Try inserting an element, after generating the canonical form.

Definition at line 21 of file OrbitGeneration_impl.hh.

◆ insert_canonical()

template<typename _OrbitType >
std::pair< typename OrbitGeneratorSet< _OrbitType >::iterator, bool > CASM::OrbitGenerators< _OrbitType >::insert_canonical ( const Element test)

Try inserting an element, assuming it is in canonical form.

Definition at line 28 of file OrbitGeneration_impl.hh.

◆ make_orbits()

template<typename _OrbitType >
template<typename OrbitOutputIterator >
OrbitOutputIterator CASM::OrbitGenerators< _OrbitType >::make_orbits ( OrbitOutputIterator  result)

Construct Orbit from all generating elements.

Definition at line 35 of file OrbitGeneration_impl.hh.

Member Data Documentation

◆ elements

template<typename _OrbitType >
OrbitGeneratorSet<OrbitType> CASM::OrbitGenerators< _OrbitType >::elements

Definition at line 74 of file OrbitGeneration.hh.

◆ group

template<typename _OrbitType >
const SymGroup& CASM::OrbitGenerators< _OrbitType >::group

Definition at line 66 of file OrbitGeneration.hh.

◆ m_element_compare

template<typename _OrbitType >
OrbitGeneratorCompare<OrbitType> CASM::OrbitGenerators< _OrbitType >::m_element_compare
private

Definition at line 70 of file OrbitGeneration.hh.

◆ m_generate_canonical

template<typename _OrbitType >
CanonicalGenerator<OrbitType> CASM::OrbitGenerators< _OrbitType >::m_generate_canonical
private

Definition at line 71 of file OrbitGeneration.hh.

◆ sym_compare

template<typename _OrbitType >
const SymCompareType& CASM::OrbitGenerators< _OrbitType >::sym_compare

Definition at line 67 of file OrbitGeneration.hh.


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