Rosetta
|
Dimension: Dynamic Dimension. More...
#include <Dimension.hh>
Public Types | |
typedef DimensionExpression | Expression |
![]() | |
typedef SetWrapper< Observer * > | Observers |
Public Member Functions | |
Dimension () | |
Default Constructor. More... | |
Dimension (Dimension const &dim) | |
Copy Constructor. More... | |
Dimension (int const i) | |
int Constructor More... | |
Dimension (double const d) | |
double Constructor More... | |
Dimension (Expression const &exp) | |
Expression Constructor. More... | |
Dimension (Expression *exp_p_a) | |
Expression Pointer Constructor (Ownership Transfer) More... | |
Dimension * | clone () const |
Clone. More... | |
Dimension * | reference_copy () const |
Reference Copy. More... | |
~Dimension () override | |
Destructor. More... | |
operator int () const | |
int Conversion More... | |
operator double () const | |
double Conversion More... | |
Dimension & | operator= (Dimension const &dim) |
Copy Assignment: Creates a reference to the passed Dimension. More... | |
Dimension & | operator= (Expression const &exp) |
Expression Assignment. More... | |
Dimension & | operator= (int const i) |
int Assignment More... | |
Dimension & | operator= (double const d) |
double Assignment More... | |
Dimension & | operator+= (Dimension const &dim) |
+= Dimension More... | |
Dimension & | operator+= (Expression const &exp) |
+= Expression More... | |
Dimension & | operator+= (int const i) |
+= int More... | |
Dimension & | operator+= (double const d) |
+= double More... | |
Dimension & | operator-= (Dimension const &dim) |
-= Dimension More... | |
Dimension & | operator-= (Expression const &exp) |
-= Expression More... | |
Dimension & | operator-= (int const i) |
-= int More... | |
Dimension & | operator-= (double const d) |
-= double More... | |
Dimension & | operator*= (Dimension const &dim) |
*= Dimension More... | |
Dimension & | operator*= (Expression const &exp) |
*= Expression More... | |
Dimension & | operator*= (int const i) |
*= int More... | |
Dimension & | operator*= (double const d) |
*= double More... | |
Dimension & | operator/= (Dimension const &dim) |
/= Dimension More... | |
Dimension & | operator/= (Expression const &exp) |
/= Expression More... | |
Dimension & | operator/= (int const i) |
/= int More... | |
Dimension & | operator/= (double const d) |
/= double More... | |
Dimension & | assign_value_of (Dimension const &dim) |
Dimension Value-Semantics Assignment. More... | |
Dimension & | assign_if (int const i, double const m=1.0) |
int Assignment if Bigger than Value or Smaller than Multiplier * Value More... | |
Dimension & | assign_if (double const d, double const m=1.0) |
double Assignment if Bigger than Value or Smaller than Multiplier * Value More... | |
Dimension & | assign_if_half (int const i) |
int Assignment if Bigger than Value or Smaller than Half Value More... | |
Dimension & | assign_if_half (double const d) |
double Assignment if Bigger than Value or Smaller than Half Value More... | |
Dimension & | assign_if_bigger (int const i) |
int Assignment if Bigger than Value More... | |
Dimension & | assign_if_bigger (double const d) |
double Assignment if Bigger than Value More... | |
Dimension & | assign_if_nic (int const i, double const m=1.0) |
int Assignment if Bigger than Value or Smaller than Multiplier * Value: Notify if Changed More... | |
Dimension & | assign_if_nic (double const d, double const m=1.0) |
double Assignment if Bigger than Value or Smaller than Multiplier * Value: Notify if Changed More... | |
Dimension & | assign_if_half_nic (int const i) |
int Assignment if Bigger than Value or Smaller than Half Value: Notify if Changed More... | |
Dimension & | assign_if_half_nic (double const d) |
double Assignment if Bigger than Value or Smaller than Half Value: Notify if Changed More... | |
Dimension & | assign_if_bigger_nic (int const i) |
int Assignment if Bigger than Value: Notify if Changed More... | |
Dimension & | assign_if_bigger_nic (double const d) |
double Assignment if Bigger than Value: Notify if Changed More... | |
Dimension & | operator++ () |
++Dimension More... | |
Dimension const | operator++ (int) |
Dimension++. More... | |
Dimension & | operator-- () |
–Dimension More... | |
Dimension const | operator-- (int) |
Dimension–. More... | |
bool | initialized () const |
Initialized? More... | |
bool | constant () const |
Constant? More... | |
bool | reference () const |
Reference? More... | |
bool | reducible () const |
Reducible? More... | |
int | operator() () const |
Value. More... | |
int | value () const |
Value. More... | |
int | zvalue () const |
Value: Zero if Uninitialized. More... | |
Expression const * | exp_p () const |
Expression Pointer. More... | |
Expression const & | exp () const |
Expression. More... | |
Expression * | exp_clone () const |
Expression Clone. More... | |
Dimension & | clear () |
Clear the Dimension. More... | |
Dimension & | clear_no_notify () |
Clear the Dimension Without Notification. More... | |
Dimension & | swap (Dimension &dim) |
Swap. More... | |
Dimension & | swap_no_notify (Dimension &dim) |
Swap Without Notification. More... | |
void | update () override |
Update. More... | |
void | destructed (Subject const &subject) override |
Update for Destruction of a Subject. More... | |
![]() | |
~ObserverMulti () override | |
Destructor. More... | |
void | insert_observer (Observer &observer) const override |
Insert an Observer. More... | |
void | remove_observer (Observer &observer) const override |
Remove an Observer. More... | |
bool | has_observer () const override |
Has At Least One Observer? More... | |
Observers const * | observers_p () const |
Observers Pointer. More... | |
Observers const & | observers () const |
Observers. More... | |
void | notify_destructed () const |
Notify Observers That This Subject is Being Destructed. More... | |
![]() | |
virtual | ~Observer () |
Destructor. More... | |
void | notify () const |
Notify Observers That This Subject Has Changed. More... | |
bool | acyclic (Observer &) const |
Acyclic After Adding an Observer of This Subject? More... | |
Private Member Functions | |
void | reduce_expression () |
Reduce Expression. More... | |
void | insert_as_observer_of (Dimension const &dim) |
Insert as Observer of an Expression's Referenced Dimensions. More... | |
void | insert_as_observer_of (Expression const &exp) |
Insert as Observer of an Expression's Referenced Dimensions. More... | |
void | insert_as_observer () |
Insert as Observer of the Expression's Referenced Dimensions. More... | |
void | remove_as_observer () |
Remove as Observer of the Expression's Referenced Dimensions. More... | |
void | update_notify () |
Update and Notify. More... | |
void | update_notify_if_changed () |
Update and Notify if External State Changed. More... | |
Private Attributes | |
Expression * | exp_p_ |
Expression pointer (owned) More... | |
bool | initialized_ |
Cached initialization state. More... | |
int | value_ |
Cached value: Kept in synch with expression value (0 if uninitialized) More... | |
Friends | |
class | DynamicIndexRange |
void | swap (Dimension &a, Dimension &b) |
Swap. More... | |
void | swap_no_notify (Dimension &a, Dimension &b) |
Swap. More... | |
Additional Inherited Members | |
![]() | |
ObserverMulti () | |
Default Constructor. More... | |
ObserverMulti (ObserverMulti const &) | |
Copy Constructor. More... | |
ObserverMulti & | operator= (ObserverMulti const &) |
Copy Assignment. More... | |
![]() | |
Observer () | |
Default Constructor. More... | |
Observer (Observer const &) | |
Copy Constructor. More... | |
Observer & | operator= (Observer const &) |
Copy Assignment. More... | |
|
inline |
Default Constructor.
Referenced by clone(), and reference_copy().
|
explicit |
Copy Constructor.
References insert_as_observer_of().
|
explicit |
int Constructor
|
explicit |
double Constructor
|
inlineexplicit |
Expression Constructor.
References insert_as_observer().
|
inlineexplicit |
Expression Pointer Constructor (Ownership Transfer)
References insert_as_observer(), and reduce_expression().
|
inlineoverride |
Destructor.
References exp_p_, and remove_as_observer().
double Assignment if Bigger than Value or Smaller than Multiplier * Value
References exp_p_, initialized_, kmeans_adaptive_kernel_density_bb_dependent_rotlib::m, ObjexxFCL::Observer::notify(), remove_as_observer(), update(), and value_.
int Assignment if Bigger than Value or Smaller than Multiplier * Value
References exp_p_, create_a3b_hbs::i, initialized_, kmeans_adaptive_kernel_density_bb_dependent_rotlib::m, ObjexxFCL::Observer::notify(), remove_as_observer(), update(), and value_.
double Assignment if Bigger than Value
References exp_p_, initialized_, ObjexxFCL::Observer::notify(), remove_as_observer(), update(), and value_.
Dimension & ObjexxFCL::Dimension::assign_if_bigger | ( | int const | i | ) |
int Assignment if Bigger than Value
References exp_p_, create_a3b_hbs::i, initialized_, ObjexxFCL::Observer::notify(), remove_as_observer(), update(), and value_.
double Assignment if Bigger than Value: Notify if Changed
References exp_p_, initialized_, remove_as_observer(), update_notify_if_changed(), and value_.
Dimension & ObjexxFCL::Dimension::assign_if_bigger_nic | ( | int const | i | ) |
int Assignment if Bigger than Value: Notify if Changed
References exp_p_, create_a3b_hbs::i, initialized_, remove_as_observer(), update_notify_if_changed(), and value_.
double Assignment if Bigger than Value or Smaller than Half Value
References exp_p_, initialized_, ObjexxFCL::Observer::notify(), remove_as_observer(), update(), and value_.
Dimension & ObjexxFCL::Dimension::assign_if_half | ( | int const | i | ) |
int Assignment if Bigger than Value or Smaller than Half Value
References exp_p_, create_a3b_hbs::i, initialized_, ObjexxFCL::Observer::notify(), remove_as_observer(), update(), and value_.
double Assignment if Bigger than Value or Smaller than Half Value: Notify if Changed
References exp_p_, initialized_, remove_as_observer(), update_notify_if_changed(), and value_.
Dimension & ObjexxFCL::Dimension::assign_if_half_nic | ( | int const | i | ) |
int Assignment if Bigger than Value or Smaller than Half Value: Notify if Changed
References exp_p_, create_a3b_hbs::i, initialized_, remove_as_observer(), update_notify_if_changed(), and value_.
double Assignment if Bigger than Value or Smaller than Multiplier * Value: Notify if Changed
References exp_p_, initialized_, kmeans_adaptive_kernel_density_bb_dependent_rotlib::m, remove_as_observer(), update_notify_if_changed(), and value_.
int Assignment if Bigger than Value or Smaller than Multiplier * Value: Notify if Changed
References exp_p_, create_a3b_hbs::i, initialized_, kmeans_adaptive_kernel_density_bb_dependent_rotlib::m, remove_as_observer(), update_notify_if_changed(), and value_.
Dimension Value-Semantics Assignment.
References exp_clone(), exp_p_, insert_as_observer(), ObjexxFCL::Observer::notify(), remove_as_observer(), and update().
|
inline |
Clear the Dimension.
References exp_p_, initialized_, ObjexxFCL::Observer::notify(), remove_as_observer(), and value_.
Referenced by pyrosetta.bindings.pose.ResidueLabelAccessor::discard(), and ObjexxFCL::operator>>().
|
inline |
Clear the Dimension Without Notification.
References exp_p_, initialized_, remove_as_observer(), and value_.
|
inline |
Clone.
References Dimension(), and exp_clone().
Referenced by ObjexxFCL::DynamicIndexRange::l_dim_clone(), and ObjexxFCL::DynamicIndexRange::u_dim_clone().
|
inline |
Constant?
References ObjexxFCL::DimensionExpression::constant(), and exp_p_.
|
inlineoverridevirtual |
Update for Destruction of a Subject.
Implements ObjexxFCL::Observer.
References ObjexxFCL::DimensionExpression::destructed(), and exp_p_.
|
inline |
Expression.
References exp_p_.
Referenced by ObjexxFCL::DimensionExpressionRef::clone(), insert_as_observer_of(), operator*=(), operator+=(), operator-=(), operator/=(), and operator=().
|
inline |
Expression Clone.
References ObjexxFCL::DimensionExpression::clone(), and exp_p_.
Referenced by assign_value_of(), and clone().
|
inline |
|
inline |
Initialized?
References initialized_.
Referenced by ObjexxFCL::DimensionExpressionRef::initialized(), ObjexxFCL::operator<(), ObjexxFCL::operator<=(), ObjexxFCL::operator==(), ObjexxFCL::operator>(), and ObjexxFCL::operator>=().
|
inlineprivate |
Insert as Observer of the Expression's Referenced Dimensions.
References exp_p_, and ObjexxFCL::DimensionExpression::insert_observer().
Referenced by assign_value_of(), Dimension(), operator=(), swap(), and swap_no_notify().
|
inlineprivate |
Insert as Observer of an Expression's Referenced Dimensions.
References ObjexxFCL::ObserverMulti::insert_observer().
Referenced by Dimension(), operator*=(), operator+=(), operator-=(), operator/=(), and operator=().
|
inlineprivate |
Insert as Observer of an Expression's Referenced Dimensions.
References exp(), and ObjexxFCL::DimensionExpression::insert_observer().
|
inline |
double Conversion
References initialized_, and value_.
|
inline |
int Conversion
References initialized_, and value_.
|
inline |
Value.
References initialized_, and value_.
*= Dimension
References ObjexxFCL::DimensionExpression::clone(), exp_p_, insert_as_observer_of(), reduce_expression(), and update_notify().
*= double
References exp_p_, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
Dimension & ObjexxFCL::Dimension::operator*= | ( | Expression const & | exp | ) |
*= Expression
References ObjexxFCL::DimensionExpression::clone(), exp(), exp_p_, insert_as_observer_of(), reduce_expression(), and update_notify().
Dimension & ObjexxFCL::Dimension::operator*= | ( | int const | i | ) |
*= int
References exp_p_, create_a3b_hbs::i, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
Dimension & ObjexxFCL::Dimension::operator++ | ( | ) |
References exp_p_, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
Dimension const ObjexxFCL::Dimension::operator++ | ( | int | ) |
Dimension++.
+= Dimension
References ObjexxFCL::DimensionExpression::clone(), exp_p_, insert_as_observer_of(), reduce_expression(), and update_notify().
+= double
References exp_p_, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
Dimension & ObjexxFCL::Dimension::operator+= | ( | Expression const & | exp | ) |
+= Expression
References ObjexxFCL::DimensionExpression::clone(), exp(), exp_p_, insert_as_observer_of(), reduce_expression(), and update_notify().
Dimension & ObjexxFCL::Dimension::operator+= | ( | int const | i | ) |
+= int
References exp_p_, create_a3b_hbs::i, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
Dimension & ObjexxFCL::Dimension::operator-- | ( | ) |
References exp_p_, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
-= Dimension
References exp_p_, insert_as_observer_of(), remove_as_observer(), and update_notify().
-= double
References exp_p_, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
Dimension & ObjexxFCL::Dimension::operator-= | ( | Expression const & | exp | ) |
-= Expression
References ObjexxFCL::DimensionExpression::clone(), exp(), exp_p_, insert_as_observer_of(), reduce_expression(), and update_notify().
Dimension & ObjexxFCL::Dimension::operator-= | ( | int const | i | ) |
-= int
References exp_p_, create_a3b_hbs::i, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
/= Dimension
References ObjexxFCL::DimensionExpression::clone(), exp_p_, insert_as_observer_of(), reduce_expression(), and update_notify().
/= double
References exp_p_, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
Dimension & ObjexxFCL::Dimension::operator/= | ( | Expression const & | exp | ) |
/= Expression
References ObjexxFCL::DimensionExpression::clone(), exp(), exp_p_, insert_as_observer_of(), reduce_expression(), and update_notify().
Dimension & ObjexxFCL::Dimension::operator/= | ( | int const | i | ) |
/= int
References exp_p_, create_a3b_hbs::i, ObjexxFCL::Observer::notify(), reduce_expression(), and update().
Copy Assignment: Creates a reference to the passed Dimension.
Copy Assignment.
References exp_p_, insert_as_observer_of(), ObjexxFCL::Observer::notify(), remove_as_observer(), and update().
double Assignment
References exp_p_, remove_as_observer(), and update_notify().
|
inline |
Expression Assignment.
References ObjexxFCL::DimensionExpression::clone(), exp(), exp_p_, insert_as_observer(), remove_as_observer(), and update_notify().
Dimension & ObjexxFCL::Dimension::operator= | ( | int const | i | ) |
int Assignment
References exp_p_, create_a3b_hbs::i, remove_as_observer(), and update_notify().
|
inlineprivate |
Reduce Expression.
References ObjexxFCL::DimensionExpression::clone(), exp_p_, and reducible().
Referenced by Dimension(), operator*=(), operator++(), operator+=(), operator--(), operator-=(), and operator/=().
|
inline |
Reducible?
References exp_p_, and ObjexxFCL::DimensionExpression::reducible().
Referenced by reduce_expression().
|
inline |
Reference?
References exp_p_, and ObjexxFCL::DimensionExpression::reference().
|
inline |
Reference Copy.
References Dimension().
Referenced by ObjexxFCL::DynamicIndexRange::assign(), ObjexxFCL::DynamicIndexRange::l(), ObjexxFCL::DynamicIndexRange::l_no_notify(), ObjexxFCL::DynamicIndexRange::operator=(), ObjexxFCL::DynamicIndexRange::u(), and ObjexxFCL::DynamicIndexRange::u_no_notify().
|
inlineprivate |
Remove as Observer of the Expression's Referenced Dimensions.
References exp_p_, and ObjexxFCL::DimensionExpression::remove_observer().
Referenced by assign_if(), assign_if_bigger(), assign_if_bigger_nic(), assign_if_half(), assign_if_half_nic(), assign_if_nic(), assign_value_of(), clear(), clear_no_notify(), operator-=(), operator=(), swap(), swap_no_notify(), and ~Dimension().
Swap.
References exp_p_, initialized_, insert_as_observer(), ObjexxFCL::Observer::notify(), remove_as_observer(), and value_.
Swap Without Notification.
References exp_p_, initialized_, insert_as_observer(), remove_as_observer(), and value_.
|
inlineoverridevirtual |
Update.
Implements ObjexxFCL::Observer.
References exp_p_, ObjexxFCL::DimensionExpression::initialized(), initialized_, ObjexxFCL::DimensionExpression::ivalue(), and value_.
Referenced by assign_if(), assign_if_bigger(), assign_if_half(), assign_value_of(), operator*=(), operator++(), operator+=(), operator--(), operator-=(), operator/=(), and operator=().
|
inlineprivate |
Update and Notify.
References exp_p_, ObjexxFCL::DimensionExpression::initialized(), initialized_, ObjexxFCL::DimensionExpression::ivalue(), ObjexxFCL::Observer::notify(), and value_.
Referenced by operator*=(), operator+=(), operator-=(), operator/=(), and operator=().
|
inlineprivate |
Update and Notify if External State Changed.
References exp_p_, ObjexxFCL::DimensionExpression::initialized(), initialized_, ObjexxFCL::DimensionExpression::ivalue(), ObjexxFCL::Observer::notify(), and value_.
Referenced by assign_if_bigger_nic(), assign_if_half_nic(), and assign_if_nic().
|
inline |
Value.
References initialized_, and value_.
Referenced by ObjexxFCL::StaticIndexRange::assign(), ObjexxFCL::operator<(), ObjexxFCL::operator<<(), ObjexxFCL::operator<=(), ObjexxFCL::StaticIndexRange::operator=(), ObjexxFCL::operator==(), ObjexxFCL::operator>(), ObjexxFCL::operator>=(), and ObjexxFCL::DimensionExpressionRef::value().
|
inline |
Value: Zero if Uninitialized.
References value_.
Referenced by ObjexxFCL::DynamicIndexRange::assign(), ObjexxFCL::DynamicIndexRange::l(), ObjexxFCL::DynamicIndexRange::l_no_notify(), ObjexxFCL::DynamicIndexRange::operator=(), ObjexxFCL::DynamicIndexRange::u(), ObjexxFCL::DynamicIndexRange::u_no_notify(), and ObjexxFCL::DynamicIndexRange::update().
|
friend |
|
friend |
Swap.
|
private |
Expression pointer (owned)
Referenced by assign_if(), assign_if_bigger(), assign_if_bigger_nic(), assign_if_half(), assign_if_half_nic(), assign_if_nic(), assign_value_of(), clear(), clear_no_notify(), constant(), destructed(), exp(), exp_clone(), exp_p(), insert_as_observer(), operator*=(), operator++(), operator+=(), operator--(), operator-=(), operator/=(), operator=(), reduce_expression(), reducible(), reference(), remove_as_observer(), swap(), swap_no_notify(), update(), update_notify(), update_notify_if_changed(), and ~Dimension().
|
private |
Cached initialization state.
Referenced by assign_if(), assign_if_bigger(), assign_if_bigger_nic(), assign_if_half(), assign_if_half_nic(), assign_if_nic(), ObjexxFCL::DynamicIndexRange::bounded(), clear(), clear_no_notify(), ObjexxFCL::DynamicIndexRange::contain(), ObjexxFCL::DynamicIndexRange::contain_nic(), ObjexxFCL::DynamicIndexRange::contains(), initialized(), ObjexxFCL::DynamicIndexRange::initialized(), ObjexxFCL::DynamicIndexRange::intersect(), ObjexxFCL::DynamicIndexRange::intersect_nic(), ObjexxFCL::DynamicIndexRange::intersects(), ObjexxFCL::DynamicIndexRange::l_initialized(), ObjexxFCL::DynamicIndexRange::legal(), ObjexxFCL::DynamicIndexRange::legal_dynamic(), ObjexxFCL::DynamicIndexRange::not_unbounded(), operator double(), operator int(), operator()(), ObjexxFCL::DynamicIndexRange::positive(), ObjexxFCL::DynamicIndexRange::size_dynamic(), swap(), swap_no_notify(), ObjexxFCL::DynamicIndexRange::u_initialized(), ObjexxFCL::DynamicIndexRange::unbounded(), update(), update_notify(), update_notify_if_changed(), and value().
|
private |
Cached value: Kept in synch with expression value (0 if uninitialized)
Referenced by assign_if(), assign_if_bigger(), assign_if_bigger_nic(), assign_if_half(), assign_if_half_nic(), assign_if_nic(), clear(), clear_no_notify(), operator double(), operator int(), operator()(), swap(), swap_no_notify(), update(), update_notify(), update_notify_if_changed(), value(), and zvalue().