// wrapBufferedRegionProfile.h
// This file is generated by Shroud 0.13.0. Do not edit.
/**
 * \file wrapBufferedRegionProfile.h
 * \brief Shroud generated wrapper for BufferedRegionProfile class
 */
// For C users and C++ implementation

#ifndef WRAPBUFFEREDREGIONPROFILE_H
#define WRAPBUFFEREDREGIONPROFILE_H

#include "typesCaliper.h"

// splicer begin class.BufferedRegionProfile.CXX_declarations
// splicer end class.BufferedRegionProfile.CXX_declarations

#ifdef __cplusplus
extern "C" {
#endif

// splicer begin class.BufferedRegionProfile.C_declarations
// splicer end class.BufferedRegionProfile.C_declarations

cali_BufferedRegionProfile * cali_BufferedRegionProfile_new(
    cali_BufferedRegionProfile * SHC_rv);

void cali_BufferedRegionProfile_delete(
    cali_BufferedRegionProfile * self);

void cali_BufferedRegionProfile_start(
    cali_BufferedRegionProfile * self);

void cali_BufferedRegionProfile_stop(cali_BufferedRegionProfile * self);

void cali_BufferedRegionProfile_clear(
    cali_BufferedRegionProfile * self);

void cali_BufferedRegionProfile_fetch_exclusive_region_times(
    cali_BufferedRegionProfile * self);

void cali_BufferedRegionProfile_fetch_inclusive_region_times(
    cali_BufferedRegionProfile * self);

double cali_BufferedRegionProfile_total_profiling_time(
    const cali_BufferedRegionProfile * self);

double cali_BufferedRegionProfile_total_region_time(
    const cali_BufferedRegionProfile * self);

double cali_BufferedRegionProfile_region_time(
    cali_BufferedRegionProfile * self, const char * region);

#ifdef __cplusplus
}
#endif

#endif  // WRAPBUFFEREDREGIONPROFILE_H
