Skip to content

File progress_tracker.hpp

FileList > lib > utilities > progress_tracker.hpp

Go to the source code of this file

  • #include <chrono>
  • #include <cstdint>
  • #include <memory>
  • #include <optional>
  • #include <source_location>
  • #include <string>
  • #include <utility>

Classes

Type Name
class AsyncProgressTracker
class ProgressBar
class ProgressObserver
class ProgressTracker

Macros

Type Name
define START_TRACKER (...) START\_TRACKER\_GET(\_\_VA\_ARGS\_\_, START\_TRACKER\_2, START\_TRACKER\_1)(\_\_VA\_ARGS\_\_)
define START_TRACKER_1 (text) (progress\_tracker).begin\_tracking((text), std::source\_location::current())
define START_TRACKER_2 (tracker, text) ((tracker)).begin\_tracking((text), std::source\_location::current())
define START_TRACKER_GET (_1, _2, NAME, ...) NAME
define SUBTRACKER (...) SUBTRACKER\_GET(\_\_VA\_ARGS\_\_, SUBTRACKER\_3, SUBTRACKER\_2)(\_\_VA\_ARGS\_\_)
define SUBTRACKER_2 (start, end) (progress\_tracker).subtracker((start), (end), "", std::source\_location::current())
define SUBTRACKER_3 (start, end, tracker) ((tracker)).subtracker((start), (end), "", std::source\_location::current())
define SUBTRACKER_GET (_1, _2, _3, NAME, ...) NAME
define SUBTRACKER_HIDDEN (...) SUBTRACKER\_GET(\_\_VA\_ARGS\_\_, SUBTRACKER\_HIDDEN\_3, SUBTRACKER\_HIDDEN\_2)(\_\_VA\_ARGS\_\_)
define SUBTRACKER_HIDDEN_2 (start, end) (progress\_tracker).subtracker((start), (end), "", std::source\_location::current(), false)
define SUBTRACKER_HIDDEN_3 (start, end, tracker) ((tracker)).subtracker((start), (end), "", std::source\_location::current(), false)
define SUBTRACKER_VISIBLE (...) SUBTRACKER\_GET(\_\_VA\_ARGS\_\_, SUBTRACKER\_VISIBLE\_3, SUBTRACKER\_VISIBLE\_2)(\_\_VA\_ARGS\_\_)
define SUBTRACKER_VISIBLE_2 (start, end) (progress\_tracker).subtracker((start), (end), "", std::source\_location::current(), true)
define SUBTRACKER_VISIBLE_3 (start, end, tracker) ((tracker)).subtracker((start), (end), "", std::source\_location::current(), true)

Macro Definition Documentation

define START_TRACKER

#define START_TRACKER (
    ...
) `START_TRACKER_GET(__VA_ARGS__, START_TRACKER_2, START_TRACKER_1)(__VA_ARGS__)`

define START_TRACKER_1

#define START_TRACKER_1 (
    text
) `(progress_tracker).begin_tracking((text), std::source_location::current())`

define START_TRACKER_2

#define START_TRACKER_2 (
    tracker,
    text
) `((tracker)).begin_tracking((text), std::source_location::current())`

define START_TRACKER_GET

#define START_TRACKER_GET (
    _1,
    _2,
    NAME,
    ...
) `NAME`

define SUBTRACKER

#define SUBTRACKER (
    ...
) `SUBTRACKER_GET(__VA_ARGS__, SUBTRACKER_3, SUBTRACKER_2)(__VA_ARGS__)`

define SUBTRACKER_2

#define SUBTRACKER_2 (
    start,
    end
) `(progress_tracker).subtracker((start), (end), "", std::source_location::current())`

define SUBTRACKER_3

#define SUBTRACKER_3 (
    start,
    end,
    tracker
) `((tracker)).subtracker((start), (end), "", std::source_location::current())`

define SUBTRACKER_GET

#define SUBTRACKER_GET (
    _1,
    _2,
    _3,
    NAME,
    ...
) `NAME`

define SUBTRACKER_HIDDEN

#define SUBTRACKER_HIDDEN (
    ...
) `SUBTRACKER_GET(__VA_ARGS__, SUBTRACKER_HIDDEN_3, SUBTRACKER_HIDDEN_2)(__VA_ARGS__)`

define SUBTRACKER_HIDDEN_2

#define SUBTRACKER_HIDDEN_2 (
    start,
    end
) `(progress_tracker).subtracker((start), (end), "", std::source_location::current(), false)`

define SUBTRACKER_HIDDEN_3

#define SUBTRACKER_HIDDEN_3 (
    start,
    end,
    tracker
) `((tracker)).subtracker((start), (end), "", std::source_location::current(), false)`

define SUBTRACKER_VISIBLE

#define SUBTRACKER_VISIBLE (
    ...
) `SUBTRACKER_GET(__VA_ARGS__, SUBTRACKER_VISIBLE_3, SUBTRACKER_VISIBLE_2)(__VA_ARGS__)`

define SUBTRACKER_VISIBLE_2

#define SUBTRACKER_VISIBLE_2 (
    start,
    end
) `(progress_tracker).subtracker((start), (end), "", std::source_location::current(), true)`

define SUBTRACKER_VISIBLE_3

#define SUBTRACKER_VISIBLE_3 (
    start,
    end,
    tracker
) `((tracker)).subtracker((start), (end), "", std::source_location::current(), true)`


The documentation for this class was generated from the following file /home/runner/work/Blaze/Blaze/src/lib/utilities/progress_tracker.hpp