// Generated by Haxe 4.3.3
#ifndef INCLUDED_uuidv7_V7Generator
#define INCLUDED_uuidv7_V7Generator
#ifndef HXCPP_H
#include <hxcpp.h>
#endif
HX_DECLARE_CLASS1(uuidv7,V7Generator)
namespace uuidv7{
class HXCPP_CLASS_ATTRIBUTES V7Generator_obj : public ::hx::Object
{
public:
typedef ::hx::Object super;
typedef V7Generator_obj OBJ_;
V7Generator_obj();
public:
enum { _hx_ClassId = 0x60dea512 };
void __construct();
inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="uuidv7.V7Generator")
{ return ::hx::Object::operator new(inSize,inContainer,inName); }
inline void *operator new(size_t inSize, int extra)
{ return ::hx::Object::operator new(inSize+extra,false,"uuidv7.V7Generator"); }
static ::hx::ObjectPtr< V7Generator_obj > __new();
static ::hx::ObjectPtr< V7Generator_obj > __alloc(::hx::Ctx *_hx_ctx);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
//~V7Generator_obj();
HX_DO_RTTI_ALL;
::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
static bool __SetStatic(const ::String &inString, Dynamic &ioValue, ::hx::PropertyAccess inCallProp);
void __GetFields(Array< ::String> &outFields);
static void __register();
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("V7Generator",f2,a0,fb,d0); }
static void __boot();
static ::String DIGITS;
static Float int64ToFloat(::cpp::Int64 i);
static ::Dynamic int64ToFloat_dyn();
static ::String formatUuid(Float unixTsMs,int randA,int randBHi,int randBLo);
static ::Dynamic formatUuid_dyn();
::cpp::Int64 timestampBiased;
::cpp::Int64 counter;
::String generate();
::Dynamic generate_dyn();
::String generateOrResetCore(Float unixTsMs,Float rollbackAllowance);
::Dynamic generateOrResetCore_dyn();
::String generateOrAbortCore(Float unixTsMs,Float rollbackAllowance);
::Dynamic generateOrAbortCore_dyn();
void resetCounter();
::Dynamic resetCounter_dyn();
};
} // end namespace uuidv7
#endif /* INCLUDED_uuidv7_V7Generator */