CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::ConfigDoFIsEquivalent Class Reference

#include <ConfigDoFIsEquivalent.hh>

Detailed Description

Wrapper class for generic equality comparison of ConfigDoF.

  • Wraps a functor derived from ConfigDoFIsEquivalentBase that is specialized for comparison of a particular type of DoF

Definition at line 420 of file ConfigDoFIsEquivalent.hh.

Public Member Functions

template<typename ConfigDoFIsEquivalentType >
 ConfigDoFIsEquivalent (std::unique_ptr< ConfigDoFIsEquivalentType > f)
 Construct a ConfigDoFCompare object for a particular DoF type. More...
 
bool is_less () const
 Returns less than comparison. More...
 
bool operator() (const Configuration &other) const
 Return config == other. More...
 
bool operator() (const ConfigDoF &other) const
 Return config == other. More...
 
bool operator() (const PermuteIterator &A) const
 Return config == A*config. More...
 
bool operator() (const PermuteIterator &A, const PermuteIterator &B) const
 Return A*config == B*config. More...
 

Private Attributes

notstd::cloneable_ptr
< DoFIsEquivalent::ConfigDoFIsEquivalentBase
m_f
 

Related Functions

(Note that these are not member functions.)

template<typename ConfigDoFIsEquivalentType , typename... Args>
ConfigDoFIsEquivalent make_dof_is_equivalent (Args &&...args)
 

Constructor & Destructor Documentation

template<typename ConfigDoFIsEquivalentType >
CASM::ConfigDoFIsEquivalent::ConfigDoFIsEquivalent ( std::unique_ptr< ConfigDoFIsEquivalentType >  f)
inline

Construct a ConfigDoFCompare object for a particular DoF type.

Easiest construction is probably using 'make_dof_compare'.

Example:

ConfigDoFIsEquivalent strain_is_equivalent = make_dof_is_equivalent<DoFIsEquivalent::Strain>(my_configdof or my_config);
ConfigDoFIsEquivalent occ_is_equivalent = make_dof_is_equivalent<DoFIsEquivalent::Occupation>(my_configdof or my_config);
ConfigDoFIsEquivalent disp_is_equivalent = make_dof_is_equivalent<DoFIsEquivalent::Displacement>(my_configdof or my_config);

Definition at line 435 of file ConfigDoFIsEquivalent.hh.

Member Function Documentation

bool CASM::ConfigDoFIsEquivalent::is_less ( ) const
inline

Returns less than comparison.

  • Only valid after call operator returns false

Definition at line 441 of file ConfigDoFIsEquivalent.hh.

bool CASM::ConfigDoFIsEquivalent::operator() ( const Configuration other) const
inline

Return config == other.

Definition at line 446 of file ConfigDoFIsEquivalent.hh.

bool CASM::ConfigDoFIsEquivalent::operator() ( const ConfigDoF other) const
inline

Return config == other.

Definition at line 451 of file ConfigDoFIsEquivalent.hh.

bool CASM::ConfigDoFIsEquivalent::operator() ( const PermuteIterator A) const
inline

Return config == A*config.

Definition at line 456 of file ConfigDoFIsEquivalent.hh.

bool CASM::ConfigDoFIsEquivalent::operator() ( const PermuteIterator A,
const PermuteIterator B 
) const
inline

Return A*config == B*config.

Definition at line 461 of file ConfigDoFIsEquivalent.hh.

Friends And Related Function Documentation

template<typename ConfigDoFIsEquivalentType , typename... Args>
ConfigDoFIsEquivalent make_dof_is_equivalent ( Args &&...  args)
related

Factory function to make ConfigDoFIsEquivalent

Definition at line 474 of file ConfigDoFIsEquivalent.hh.

Member Data Documentation

notstd::cloneable_ptr<DoFIsEquivalent::ConfigDoFIsEquivalentBase> CASM::ConfigDoFIsEquivalent::m_f
private

Definition at line 466 of file ConfigDoFIsEquivalent.hh.


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