API documentation

Overview

All BRKGA-MP-IPR algorithms and facilities are within namespace BRKGA. Some helper are in the general scope, such general streaming operator and enumaratio manipulation.

// namespaces

namespace BRKGA;
    namespace BRKGA::PathRelinking;

// classes

template <typename T>
class EnumIO;

// global functions

template <DurationType durantion_t>
INLINE std::istream& operator >> (
    std::istream& is,
    durantion_t& duration
);

INLINE std::ostream& operator << (
    std::ostream& os,
    const std::chrono::duration<double>& dur
);

template <typename... Ts>
std::ostream& operator << (
    std::ostream& os,
    const std::tuple<Ts...>& tp
);

static std::string toUpper(const std::string& input);

template <EnumType T>
T toEnum(const std::string& s);

template <EnumType T>
std::ostream& operator << (
    std::ostream& os,
    const T& t
);

template <EnumType T>
std::istream& operator >> (
    std::istream& is,
    T& t
);

// macros

#define BRKGA_MULTIPLE_INCLUSIONS
#define MATING_FULL_SPEED
#define MATING_SEED_ONLY
#define MATING_SEQUENTIAL