#ifndef V8_OBJECTS_JS_TEMPORAL_ZONEINFO64_H_
#define V8_OBJECTS_JS_TEMPORAL_ZONEINFO64_H_
#include "temporal_rs/Provider.d.hpp"
#ifdef V8_INTL_SUPPORT
#include "unicode/udata.h"
#else
#include <vector>
#endif
namespace v8::internal {
class ZoneInfo64Provider {
public:
static ZoneInfo64Provider& Singleton();
temporal_rs::Provider& Provider() { return *provider; }
ZoneInfo64Provider(const ZoneInfo64Provider&) = delete;
ZoneInfo64Provider operator=(const ZoneInfo64Provider&) = delete;
ZoneInfo64Provider(ZoneInfo64Provider&&) = delete;
ZoneInfo64Provider operator=(ZoneInfo64Provider&&) = delete;
private:
ZoneInfo64Provider();
~ZoneInfo64Provider();
std::unique_ptr<temporal_rs::Provider> provider;
#ifdef V8_INTL_SUPPORT
UDataMemory* memory;
#endif
};
}
#endif