# pre_scan_tag and final_scan_tag

[algorithms.parallel_scan.scan_tags]

Types that distinguish the phases of `parallel_scan`.

Types `pre_scan_tag` and `final_scan_tag` are dummy types used in conjunction with `parallel_scan`. See the example in the parallel_scan section for demonstration of how they are used in the signature of `operator()`.

    // Defined in header <oneapi/tbb/parallel_scan.h>

    namespace oneapi {
        namespace tbb {

           struct pre_scan_tag {
               static bool is_final_scan();
               operator bool();
           };

           struct final_scan_tag {
               static bool is_final_scan();
               operator bool();
           };

        } // namespace tbb
    } // namespace oneapi

## Member functions

bool is_final_scan()

  `true` for a `final_scan_tag`, `false`, otherwise.

operator bool()

  `true` for a `final_scan_tag`, `false`, otherwise.