| Camargue
    | 
Utility functions, macros, and structures. More...
#include <algorithm>#include <array>#include <iostream>#include <memory>#include <string>#include <utility>#include <vector>#include <cmath>

Go to the source code of this file.
| Classes | |
| struct | CMR::OutPrefs | 
| Preferences related to tour file output and verbosity.  More... | |
| struct | CMR::util::C_resource_deleter< T > | 
| Class template for deleting resources allocated by C functions.  More... | |
| class | CMR::util::SquareUT< T > | 
| Class template for a square upper triangular matrix.  More... | |
| struct | CMR::Segment | 
| Simple utility struct for storing an interval of nodes.  More... | |
| struct | CMR::EndPts | 
| Simple base class for storing edge of a graph as a sorted pair of nodes.  More... | |
| Namespaces | |
| CMR | |
| The namespace for this project. | |
| CMR::Epsilon | |
| Numerical tolerances. | |
| CMR::util | |
| Utility functions/structures used miscellaneous places in the project. | |
| Typedefs | |
| template<typename numtype > | |
| using | CMR::util::c_array_ptr = std::unique_ptr< numtype, C_resource_deleter< numtype >> | 
| Alias declaration for unique_ptr to C array.  More... | |
| Functions | |
| bool | CMR::util::var_integral (double d) | 
| Is a zero-one variable considered integral. | |
| double | CMR::util::zeit (void) | 
| CPU time function. | |
| double | CMR::util::real_zeit (void) | 
| Wall clock time function. | |
| template<typename T , typename... Args> | |
| std::unique_ptr< T > | CMR::util::make_unique (Args &&...args) | 
| As per Herb Sutter, port of C++14's make_unique faculty. | |
| template<typename T , typename... Args> | |
| void | CMR::util::ptr_reset (std::unique_ptr< T > &target, Args &&...args) | 
| Adaptation of make_unique to reset a unique_ptr to an object.  More... | |
| template<typename ElemType , typename PredType > | |
| void | CMR::util::erase_remove (std::vector< ElemType > &vec, PredType pred) | 
| Standardization of erase-remove idiom.  More... | |
| bool | CMR::operator== (EndPts e1, EndPts e2) | 
| std::ostream & | CMR::operator<< (std::ostream &os, const EndPts &e) | 
| Variables | |
| constexpr double | CMR::Epsilon::Zero = 0.000001 | 
| Numbers less than this treated as zero. | |
| constexpr double | CMR::Epsilon::MinCut = 0.0001 | 
| Tolerance for min cut computations. | |
| constexpr double | CMR::Epsilon::CutViol = 0.001 | 
| Cuts are not considered violated unless by at least this much. | |
| constexpr double | CMR::Epsilon::DualDust = 0.001 | 
| Small dual values. | |
| constexpr double | CMR::Epsilon::TotalDelta = 0.01 | 
| A round of cuts is a failure if the pivot deltas sum to less than this. | |
| constexpr double | CMR::Epsilon::PHratio = 0.1 | 
| A small value of the Padberg-Hong metric. | |
Utility functions, macros, and structures.
 1.8.11
 1.8.11