Google OR-Tools: ortools/base/dump_vars.h File Reference

#include <optional>
#include <ostream>
#include <sstream>
#include <string>
#include <utility>
#include <vector>
#include "absl/container/inlined_vector.h"
#include "ortools/base/strong_vector.h"

Go to the source code of this file.

Macros

#define DUMP_FOR_EACH_N0(F)
#define DUMP_FOR_EACH_N1(F, a)
#define DUMP_FOR_EACH_N2(F, a, ...)
#define DUMP_FOR_EACH_N3(F, a, ...)
#define DUMP_FOR_EACH_N4(F, a, ...)
#define DUMP_FOR_EACH_N5(F, a, ...)
#define DUMP_FOR_EACH_N6(F, a, ...)
#define DUMP_FOR_EACH_N7(F, a, ...)
#define DUMP_FOR_EACH_N8(F, a, ...)
#define DUMP_FOR_EACH_N9(F, a, ...)
#define DUMP_FOR_EACH_N10(F, a, ...)
#define DUMP_FOR_EACH_N11(F, a, ...)
#define DUMP_FOR_EACH_N12(F, a, ...)
#define DUMP_CONCATENATE(x, y)
#define DUMP_FOR_EACH_(N, F, ...)
#define DUMP_NARG(...)
#define DUMP_NARG_(...)
#define DUMP_ARG_N(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, N, ...)
#define DUMP_RSEQ_N()
#define DUMP_FOR_EACH(F, ...)
#define DUMP_VARS(...)
#define DUMP_STRINGIZE(a)
#define DUMP_STRINGIFY(...)
#define DUMP_IDENTITY(...)
#define DUMP_RM_PARENS(...)
#define DUMP_GEN_ONE_BINDING(a)
#define DUMP_GEN_BINDING(binding)
#define DUMP_VARS_WITH_BINDINGS(binding, ...)

Functions

template<typename T>
std::ostream & operations_research::base::internal_dump_vars::operator<< (std::ostream &os, const ::absl::InlinedVector< T, 8 > &vec)
template<typename T>
std::ostream & operations_research::base::internal_dump_vars::operator<< (std::ostream &os, const ::std::vector< T > &vec)
template<typename T>
std::ostream & operations_research::base::internal_dump_vars::operator<< (std::ostream &os, const ::std::optional< T > &opt)
template<typename T, typename U>
std::ostream & operations_research::base::internal_dump_vars::operator<< (std::ostream &os, const ::util_intops::StrongVector< T, U > &vec)
template<class F>
Dump< F > operations_research::base::internal_dump_vars::make_dump_vars (DumpNames &&names, F f)

◆ DUMP_ARG_N

#define DUMP_ARG_N ( _1,
_2,
_3,
_4,
_5,
_6,
_7,
_8,
_9,
_10,
_11,
_12,
N,
... )

◆ DUMP_CONCATENATE

#define DUMP_CONCATENATE ( x,
y )

◆ DUMP_FOR_EACH

#define DUMP_FOR_EACH ( F,
... )

Value:

DUMP_FOR_EACH_(DUMP_NARG(__VA_ARGS__), F __VA_OPT__(, __VA_ARGS__))

#define DUMP_FOR_EACH_(N, F,...)

Definition at line 75 of file dump_vars.h.

◆ DUMP_FOR_EACH_

#define DUMP_FOR_EACH_ ( N,
F,
... )

Value:

DUMP_CONCATENATE(DUMP_FOR_EACH_N, N)(F __VA_OPT__(, __VA_ARGS__))

#define DUMP_CONCATENATE(x, y)

Definition at line 68 of file dump_vars.h.

◆ DUMP_FOR_EACH_N0

#define DUMP_FOR_EACH_N0 ( F)

◆ DUMP_FOR_EACH_N1

#define DUMP_FOR_EACH_N1 ( F,
a )

◆ DUMP_FOR_EACH_N10

#define DUMP_FOR_EACH_N10 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N9(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N9(F, a,...)

Definition at line 63 of file dump_vars.h.

◆ DUMP_FOR_EACH_N11

#define DUMP_FOR_EACH_N11 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N10(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N10(F, a,...)

Definition at line 64 of file dump_vars.h.

◆ DUMP_FOR_EACH_N12

#define DUMP_FOR_EACH_N12 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N11(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N11(F, a,...)

Definition at line 65 of file dump_vars.h.

◆ DUMP_FOR_EACH_N2

#define DUMP_FOR_EACH_N2 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N1(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N1(F, a)

Definition at line 55 of file dump_vars.h.

◆ DUMP_FOR_EACH_N3

#define DUMP_FOR_EACH_N3 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N2(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N2(F, a,...)

Definition at line 56 of file dump_vars.h.

◆ DUMP_FOR_EACH_N4

#define DUMP_FOR_EACH_N4 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N3(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N3(F, a,...)

Definition at line 57 of file dump_vars.h.

◆ DUMP_FOR_EACH_N5

#define DUMP_FOR_EACH_N5 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N4(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N4(F, a,...)

Definition at line 58 of file dump_vars.h.

◆ DUMP_FOR_EACH_N6

#define DUMP_FOR_EACH_N6 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N5(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N5(F, a,...)

Definition at line 59 of file dump_vars.h.

◆ DUMP_FOR_EACH_N7

#define DUMP_FOR_EACH_N7 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N6(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N6(F, a,...)

Definition at line 60 of file dump_vars.h.

◆ DUMP_FOR_EACH_N8

#define DUMP_FOR_EACH_N8 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N7(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N7(F, a,...)

Definition at line 61 of file dump_vars.h.

◆ DUMP_FOR_EACH_N9

#define DUMP_FOR_EACH_N9 ( F,
a,
... )

Value:

F(a) DUMP_FOR_EACH_N8(F, __VA_ARGS__)

#define DUMP_FOR_EACH_N8(F, a,...)

Definition at line 62 of file dump_vars.h.

◆ DUMP_GEN_BINDING

#define DUMP_GEN_BINDING ( binding)

Value:

&DUMP_FOR_EACH(DUMP_GEN_ONE_BINDING, DUMP_RM_PARENS(binding))

#define DUMP_FOR_EACH(F,...)

#define DUMP_RM_PARENS(...)

#define DUMP_GEN_ONE_BINDING(a)

Definition at line 90 of file dump_vars.h.

◆ DUMP_GEN_ONE_BINDING

#define DUMP_GEN_ONE_BINDING ( a)

◆ DUMP_IDENTITY

#define DUMP_IDENTITY ( ...)

◆ DUMP_NARG

Value:

DUMP_NARG_(__VA_OPT__(__VA_ARGS__, ) DUMP_RSEQ_N())

Definition at line 71 of file dump_vars.h.

◆ DUMP_NARG_

#define DUMP_NARG_ ( ...)

Value:

DUMP_ARG_N(__VA_ARGS__)

#define DUMP_ARG_N(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, N,...)

Definition at line 72 of file dump_vars.h.

◆ DUMP_RM_PARENS

#define DUMP_RM_PARENS ( ...)

Value:

DUMP_IDENTITY __VA_ARGS__

#define DUMP_IDENTITY(...)

Definition at line 87 of file dump_vars.h.

◆ DUMP_RSEQ_N

Value:

12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0

Definition at line 74 of file dump_vars.h.

◆ DUMP_STRINGIFY

#define DUMP_STRINGIFY ( ...)

Value:

DUMP_FOR_EACH(DUMP_STRINGIZE, __VA_ARGS__)

#define DUMP_STRINGIZE(a)

Definition at line 82 of file dump_vars.h.

◆ DUMP_STRINGIZE

#define DUMP_STRINGIZE ( a)

Value:

DUMP_VARS_WITH_BINDINGS((), __VA_ARGS__)

#define DUMP_VARS_WITH_BINDINGS(binding,...)

Definition at line 78 of file dump_vars.h.

◆ DUMP_VARS_WITH_BINDINGS

#define DUMP_VARS_WITH_BINDINGS ( binding,
... )

Value:

DUMP_STRINGIFY(__VA_ARGS__)}, \

[DUMP_GEN_BINDING(binding)]( \

::std::ostream& os, const ::std::string& field_sep, \

const ::std::string& kv_sep, \

const ::operations_research::base::internal_dump_vars::DumpNames& \

names) { \

.os = os, \

.field_sep = field_sep, \

.kv_sep = kv_sep, \

.names = names, \

}(__VA_ARGS__); \

})

#define DUMP_GEN_BINDING(binding)

Dump< F > make_dump_vars(DumpNames &&names, F f)

::std::vector<::std::string > DumpNames

Definition at line 93 of file dump_vars.h.