48template <
typename... Args>
50print(std::ostream&
os, Args&&... args);
52template <
typename... Args>
60template <
template <
typename...>
class OpT,
typename ApiT,
61 template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
63invoke(TupleT<Tp...>& obj, Args&&... args);
65template <
template <
typename...>
class OpT,
template <
typename...>
class TupleT,
66 typename... Tp,
typename... Args>
68invoke(TupleT<Tp...>& obj, Args&&... args);
70template <
template <
typename...>
class OpT,
typename ApiT,
71 template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
73invoke(TupleT<Tp&...>&& obj, Args&&... args);
75template <
template <
typename...>
class OpT,
template <
typename...>
class TupleT,
76 typename... Tp,
typename... Args>
78invoke(TupleT<Tp&...>&& obj, Args&&... args);
80template <
template <
typename...>
class OpT,
typename ApiT =
TIMEMORY_API,
typename... Up,
81 template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
83invoke(mpl::piecewise_select<Up...>, TupleT<Tp...>& obj, Args&&... args);
85template <
template <
typename...>
class OpT,
typename ApiT =
TIMEMORY_API,
typename... Up,
86 template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
88invoke(mpl::piecewise_select<Up...>, TupleT<Tp&...>& obj, Args&&... args);
94template <
typename TupleT,
typename ApiT,
typename... Args>
98template <
typename TupleT,
typename... Args>
106template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp>
110template <
template <
typename...>
class TupleT,
typename... Tp>
114template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp>
118template <
template <
typename...>
class TupleT,
typename... Tp>
126template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
129start(TupleT<Tp...>& obj, Args&&... args);
131template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
133start(TupleT<Tp...>& obj, Args&&... args);
135template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
138start(TupleT<Tp&...>&& obj, Args&&... args);
140template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
142start(TupleT<Tp&...>&& obj, Args&&... args);
148template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
151stop(TupleT<Tp...>& obj, Args&&... args);
153template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
155stop(TupleT<Tp...>& obj, Args&&... args);
157template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
160stop(TupleT<Tp&...>&& obj, Args&&... args);
162template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
164stop(TupleT<Tp&...>&& obj, Args&&... args);
170template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
173mark(TupleT<Tp...>& obj, Args&&... args);
175template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
177mark(TupleT<Tp...>& obj, Args&&... args);
179template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
182mark(TupleT<Tp&...>&& obj, Args&&... args);
184template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
186mark(TupleT<Tp&...>&& obj, Args&&... args);
192template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
195mark_begin(TupleT<Tp...>& obj, Args&&... args);
197template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
199mark_begin(TupleT<Tp...>& obj, Args&&... args);
201template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
204mark_begin(TupleT<Tp&...>&& obj, Args&&... args);
206template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
208mark_begin(TupleT<Tp&...>&& obj, Args&&... args);
214template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
217mark_end(TupleT<Tp...>& obj, Args&&... args);
219template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
221mark_end(TupleT<Tp...>& obj, Args&&... args);
223template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
226mark_end(TupleT<Tp&...>&& obj, Args&&... args);
228template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
230mark_end(TupleT<Tp&...>&& obj, Args&&... args);
236template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
239store(TupleT<Tp...>& obj, Args&&... args);
241template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
243store(TupleT<Tp...>& obj, Args&&... args);
245template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
248store(TupleT<Tp&...>&& obj, Args&&... args);
250template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
252store(TupleT<Tp&...>&& obj, Args&&... args);
258template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
261reset(TupleT<Tp...>& obj, Args&&... args);
263template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
265reset(TupleT<Tp...>& obj, Args&&... args);
267template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
270reset(TupleT<Tp&...>&& obj, Args&&... args);
272template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
274reset(TupleT<Tp&...>&& obj, Args&&... args);
280template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
283record(TupleT<Tp...>& obj, Args&&... args);
285template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
287record(TupleT<Tp...>& obj, Args&&... args);
289template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
292record(TupleT<Tp&...>&& obj, Args&&... args);
294template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
296record(TupleT<Tp&...>&& obj, Args&&... args);
302template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
305measure(TupleT<Tp...>& obj, Args&&... args);
307template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
309measure(TupleT<Tp...>& obj, Args&&... args);
311template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
314measure(TupleT<Tp&...>&& obj, Args&&... args);
316template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
318measure(TupleT<Tp&...>&& obj, Args&&... args);
324template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
327push(TupleT<Tp...>& obj, Args&&... args);
329template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
331push(TupleT<Tp...>& obj, Args&&... args);
333template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
336push(TupleT<Tp&...>&& obj, Args&&... args);
338template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
340push(TupleT<Tp&...>&& obj, Args&&... args);
346template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
349pop(TupleT<Tp...>& obj, Args&&... args);
351template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
353pop(TupleT<Tp...>& obj, Args&&... args);
355template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
358pop(TupleT<Tp&...>&& obj, Args&&... args);
360template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
362pop(TupleT<Tp&...>&& obj, Args&&... args);
368template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
371set_prefix(TupleT<Tp...>& obj, Args&&... args);
373template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
375set_prefix(TupleT<Tp...>& obj, Args&&... args);
377template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
380set_prefix(TupleT<Tp&...>&& obj, Args&&... args);
382template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
384set_prefix(TupleT<Tp&...>&& obj, Args&&... args);
390template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
393set_scope(TupleT<Tp...>& obj, Args&&... args);
395template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
397set_scope(TupleT<Tp...>& obj, Args&&... args);
399template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
402set_scope(TupleT<Tp&...>&& obj, Args&&... args);
404template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
406set_scope(TupleT<Tp&...>&& obj, Args&&... args);
412template <
typename ApiT =
TIMEMORY_API,
template <
typename...>
class TupleT,
413 typename... Tp,
typename... Args>
417template <
typename ApiT =
TIMEMORY_API,
template <
typename...>
class TupleT,
418 typename... Tp,
typename... Args>
426template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
429assemble(TupleT<Tp...>& obj, Args&&... args);
431template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
433assemble(TupleT<Tp...>& obj, Args&&... args);
435template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
438assemble(TupleT<Tp&...>&& obj, Args&&... args);
440template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
442assemble(TupleT<Tp&...>&& obj, Args&&... args);
448template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
451derive(TupleT<Tp...>& obj, Args&&... args);
453template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
455derive(TupleT<Tp...>& obj, Args&&... args);
457template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
460derive(TupleT<Tp&...>&& obj, Args&&... args);
462template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
464derive(TupleT<Tp&...>&& obj, Args&&... args);
470template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
473audit(TupleT<Tp...>& obj, Args&&... args);
475template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
477audit(TupleT<Tp...>& obj, Args&&... args);
479template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
482audit(TupleT<Tp&...>&& obj, Args&&... args);
484template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
486audit(TupleT<Tp&...>&& obj, Args&&... args);
492template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
497template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
501template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
506template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
514template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
517get(TupleT<Tp...>& obj, Args&&... args);
519template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
521get(TupleT<Tp...>& obj, Args&&... args);
523template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
526get(TupleT<Tp&...>&& obj, Args&&... args);
528template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
530get(TupleT<Tp&...>&& obj, Args&&... args);
532template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp>
534get(TupleT<Tp...>& obj,
void*& _ptr,
size_t _hash);
536template <
template <
typename...>
class TupleT,
typename... Tp>
538get(TupleT<Tp...>& obj,
void*& _ptr,
size_t _hash);
544template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
549template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
553template <
typename ApiT,
template <
typename...>
class TupleT,
typename... Tp,
558template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
566template <
typename ApiT,
typename ArchiveT,
template <
typename...>
class TupleT,
569serialize(ArchiveT& ar, TupleT<Tp...>& obj);
571template <
typename ArchiveT,
template <
typename...>
class TupleT,
typename... Tp>
573serialize(ArchiveT& ar, TupleT<Tp...>& obj);
575template <
typename ApiT,
typename ArchiveT,
template <
typename...>
class TupleT,
578serialize(ArchiveT& ar, TupleT<Tp&...>&& obj);
580template <
typename ArchiveT,
template <
typename...>
class TupleT,
typename... Tp>
582serialize(ArchiveT& ar, TupleT<Tp&...>&& obj);
588template <
typename... BundleT>
597template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
599start(TupleT<Tp...>&& obj, Args&&... args);
601template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
603stop(TupleT<Tp...>&& obj, Args&&... args);
605template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
607mark(TupleT<Tp...>&& obj, Args&&... args);
609template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
611mark_begin(TupleT<Tp...>&& obj, Args&&... args);
613template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
615mark_end(TupleT<Tp...>&& obj, Args&&... args);
617template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
619store(TupleT<Tp...>&& obj, Args&&... args);
621template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
623reset(TupleT<Tp...>&& obj, Args&&... args);
625template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
627record(TupleT<Tp...>&& obj, Args&&... args);
629template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
631measure(TupleT<Tp...>&& obj, Args&&... args);
633template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
635push(TupleT<Tp...>&& obj, Args&&... args);
637template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
639pop(TupleT<Tp...>&& obj, Args&&... args);
641template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
643set_prefix(TupleT<Tp...>&& obj, Args&&... args);
645template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
647set_scope(TupleT<Tp...>&& obj, Args&&... args);
649template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
651assemble(TupleT<Tp...>&& obj, Args&&... args);
653template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
655derive(TupleT<Tp...>&& obj, Args&&... args);
657template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
659audit(TupleT<Tp...>&& obj, Args&&... args);
661template <
template <
typename...>
class TupleT,
typename... Tp,
typename... Args>
Definition for various functions for cache in operations.
Definition for various functions for construct in operations.
Definition for various functions for generic in operations.
void add_secondary(TupleT< Tp... > &&obj, Args &&... args)
void mark_begin(TupleT< Tp... > &&obj, Args &&... args)
void measure(TupleT< Tp... > &&obj, Args &&... args)
void set_scope(TupleT< Tp... > &&obj, Args &&... args)
void audit(TupleT< Tp... > &&obj, Args &&... args)
void pop(TupleT< Tp... > &&obj, Args &&... args)
void push(TupleT< Tp... > &&obj, Args &&... args)
void reset(TupleT< Tp... > &&obj, Args &&... args)
void derive(TupleT< Tp... > &&obj, Args &&... args)
void store(TupleT< Tp... > &&obj, Args &&... args)
void set_prefix(TupleT< Tp... > &&obj, Args &&... args)
void start(TupleT< Tp... > &&obj, Args &&... args)
void mark(TupleT< Tp... > &&obj, Args &&... args)
void mark_end(TupleT< Tp... > &&obj, Args &&... args)
void stop(TupleT< Tp... > &&obj, Args &&... args)
void assemble(TupleT< Tp... > &&obj, Args &&... args)
void record(TupleT< Tp... > &&obj, Args &&... args)
void set_state(TupleT< Tp... > &obj, Args &&... args)
void set_scope(TupleT< Tp... > &obj, Args &&... args)
void assemble(TupleT< Tp... > &obj, Args &&... args)
void mark_begin(TupleT< Tp... > &obj, Args &&... args)
void set_prefix(TupleT< Tp... > &obj, Args &&... args)
void audit(TupleT< Tp... > &obj, Args &&... args)
void store(TupleT< Tp... > &obj, Args &&... args)
auto serialize(ArchiveT &ar, TupleT< Tp... > &obj)
auto construct(Args &&... args)
void record(TupleT< Tp... > &obj, Args &&... args)
void add_secondary(TupleT< Tp... > &obj, Args &&... args)
void derive(TupleT< Tp... > &obj, Args &&... args)
void pop(TupleT< Tp... > &obj, Args &&... args)
auto get(TupleT< Tp... > &obj, Args &&... args)
void invoke(TupleT< Tp... > &obj, Args &&... args)
void stop(TupleT< Tp... > &obj, Args &&... args)
void measure(TupleT< Tp... > &obj, Args &&... args)
void push(TupleT< Tp... > &obj, Args &&... args)
void mark_end(TupleT< Tp... > &obj, Args &&... args)
auto destroy(TupleT< Tp... > &obj)
auto get_labeled(TupleT< Tp... > &obj, Args &&... args)
void mark(TupleT< Tp... > &obj, Args &&... args)
void reset(TupleT< Tp... > &obj, Args &&... args)
void print(std::ostream &os, Args &&... args)
void start(TupleT< Tp... > &obj, Args &&... args)
Ret invoke(string_view_t &&label, Func &&func, Args &&... args)
tim::mpl::apply< std::string > string
const std::string std::ostream * os