diff --git a/pom.xml b/pom.xml index bb62478e..f0204a4a 100644 --- a/pom.xml +++ b/pom.xml @@ -461,6 +461,7 @@ Import-Package: \ -Dplatform.compiler=${javacpp.platform.compiler} org.bytedeco.javacpp.Pointer org.bytedeco.javacpp.presets.javacpp + org.bytedeco.javacpp.chrono.* -mod ${project.build.directory}/generated-sources/java9/module-info.java diff --git a/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionClock.java b/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionClock.java new file mode 100644 index 00000000..4e8c021c --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionClock.java @@ -0,0 +1,13 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.ByVal; +import org.bytedeco.javacpp.annotation.MemberGetter; +import org.bytedeco.javacpp.annotation.Name; +import org.bytedeco.javacpp.annotation.Properties; + +@Name("std::chrono::high_resolution_clock") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class HighResolutionClock extends Pointer { + static public native @ByVal SystemTime now(); + static public native @MemberGetter boolean is_steady(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionDuration.java b/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionDuration.java new file mode 100644 index 00000000..d880dbd9 --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionDuration.java @@ -0,0 +1,27 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::high_resolution_clock::duration") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class HighResolutionDuration extends Pointer { + public HighResolutionDuration() { allocate(); } + private native void allocate(); + public HighResolutionDuration(long r) { allocate(r); } + private native void allocate(long r); + + public native @Name("operator=") @ByRef HighResolutionDuration put(@Const @ByRef HighResolutionDuration other); + public native @Name("operator-") @ByVal HighResolutionDuration negate(); + public native @Name("operator++") @ByRef HighResolutionDuration increment(); + public native @Name("operator--") @ByRef HighResolutionDuration decrement(); + public native @Name("operator+=") @ByRef HighResolutionDuration addPut(@Const @ByRef HighResolutionDuration d); + public native @Name("operator-=") @ByRef HighResolutionDuration subtractPut(@Const @ByRef HighResolutionDuration d); + public native @Name("operator*=") @ByRef HighResolutionDuration multiplyPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef HighResolutionDuration modPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef HighResolutionDuration modPut(@Const @ByRef HighResolutionDuration rhs); + + public native long count(); + static public native @ByVal @Name("zero") HighResolutionDuration zero_(); + static public native @ByVal HighResolutionDuration min(); + static public native @ByVal HighResolutionDuration max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionTime.java b/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionTime.java new file mode 100644 index 00000000..9dcdc79a --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/HighResolutionTime.java @@ -0,0 +1,20 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::time_point") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class HighResolutionTime extends Pointer { + public HighResolutionTime() { allocate(); } + private native void allocate(); + + public HighResolutionTime(SystemDuration d) { allocate(d); } + private native void allocate(@Const @ByRef SystemDuration d); + + public native @ByVal HighResolutionTime time_since_epoch(); + + public native @Name("operator +=") @ByRef HighResolutionTime addPut(@Const @ByRef HighResolutionDuration d); + public native @Name("operator -=") @ByRef HighResolutionTime subtractPut(@Const @ByRef HighResolutionDuration d); + static public native @ByVal HighResolutionTime min(); + static public native @ByVal HighResolutionTime max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/Hours.java b/src/main/java/org/bytedeco/javacpp/chrono/Hours.java new file mode 100644 index 00000000..f8b35bda --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/Hours.java @@ -0,0 +1,27 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::hours") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class Hours extends Pointer { + public Hours() { allocate(); } + private native void allocate(); + public Hours(long r) { allocate(r); } + private native void allocate(long r); + + public native @Name("operator=") @ByRef Hours put(@Const @ByRef Hours other); + public native @Name("operator-") @ByVal Hours negate(); + public native @Name("operator++") @ByRef Hours increment(); + public native @Name("operator--") @ByRef Hours decrement(); + public native @Name("operator+=") @ByRef Hours addPut(@Const @ByRef Hours d); + public native @Name("operator-=") @ByRef Hours subtractPut(@Const @ByRef Hours d); + public native @Name("operator*=") @ByRef Hours multiplyPut(@Const @ByRef int rhs); + public native @Name("operator%=") @ByRef Hours modPut(@Const @ByRef int rhs); + public native @Name("operator%=") @ByRef Hours modPut(@Const @ByRef Hours rhs); + + public native int count(); + static public native @ByVal @Name("zero") Hours zero_(); + static public native @ByVal Hours min(); + static public native @ByVal Hours max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/Microseconds.java b/src/main/java/org/bytedeco/javacpp/chrono/Microseconds.java new file mode 100644 index 00000000..7cf3bb2e --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/Microseconds.java @@ -0,0 +1,36 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::microseconds") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class Microseconds extends Pointer { + public Microseconds() { allocate(); } + private native void allocate(); + public Microseconds(long r) { allocate(r); } + private native void allocate(long r); + + public Microseconds(Milliseconds d) { allocate(d); } + private native void allocate(@Const @ByRef Milliseconds d); + public Microseconds(Seconds d) { allocate(d); } + private native void allocate(@Const @ByRef Seconds d); + public Microseconds(Minutes d) { allocate(d); } + private native void allocate(@Const @ByRef Minutes d); + public Microseconds(Hours d) { allocate(d); } + private native void allocate(@Const @ByRef Hours d); + + public native @Name("operator=") @ByRef Microseconds put(@Const @ByRef Microseconds other); + public native @Name("operator-") @ByVal Microseconds negate(); + public native @Name("operator++") @ByRef Microseconds increment(); + public native @Name("operator--") @ByRef Microseconds decrement(); + public native @Name("operator+=") @ByRef Microseconds addPut(@Const @ByRef Microseconds d); + public native @Name("operator-=") @ByRef Microseconds subtractPut(@Const @ByRef Microseconds d); + public native @Name("operator*=") @ByRef Microseconds multiplyPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef Microseconds modPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef Microseconds modPut(@Const @ByRef Microseconds rhs); + + public native long count(); + static public native @ByVal @Name("zero") Microseconds zero_(); + static public native @ByVal Microseconds min(); + static public native @ByVal Microseconds max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/Milliseconds.java b/src/main/java/org/bytedeco/javacpp/chrono/Milliseconds.java new file mode 100644 index 00000000..31ddc372 --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/Milliseconds.java @@ -0,0 +1,33 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::milliseconds") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class Milliseconds extends Pointer { + public Milliseconds() { allocate(); } + private native void allocate(); + public Milliseconds(long r) { allocate(r); } + private native void allocate(long r); + public Milliseconds(Seconds d) { allocate(d); } + private native void allocate(@Const @ByRef Seconds d); + public Milliseconds(Minutes d) { allocate(d); } + private native void allocate(@Const @ByRef Minutes d); + public Milliseconds(Hours d) { allocate(d); } + private native void allocate(@Const @ByRef Hours d); + + public native @Name("operator=") @ByRef Milliseconds put(@Const @ByRef Milliseconds other); + public native @Name("operator-") @ByVal Milliseconds negate(); + public native @Name("operator++") @ByRef Milliseconds increment(); + public native @Name("operator--") @ByRef Milliseconds decrement(); + public native @Name("operator+=") @ByRef Milliseconds addPut(@Const @ByRef Milliseconds d); + public native @Name("operator-=") @ByRef Milliseconds subtractPut(@Const @ByRef Milliseconds d); + public native @Name("operator*=") @ByRef Milliseconds multiplyPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef Milliseconds modPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef Milliseconds modPut(@Const @ByRef Milliseconds rhs); + + public native long count(); + static public native @ByVal @Name("zero") Milliseconds zero_(); + static public native @ByVal Milliseconds min(); + static public native @ByVal Milliseconds max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/Minutes.java b/src/main/java/org/bytedeco/javacpp/chrono/Minutes.java new file mode 100644 index 00000000..3ec9caba --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/Minutes.java @@ -0,0 +1,29 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::minutes") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class Minutes extends Pointer { + public Minutes() { allocate(); } + private native void allocate(); + public Minutes(long r) { allocate(r); } + private native void allocate(long r); + public Minutes(Hours d) { allocate(d); } + private native void allocate(@Const @ByRef Hours d); + + public native @Name("operator=") @ByRef Minutes put(@Const @ByRef Minutes other); + public native @Name("operator-") @ByVal Minutes negate(); + public native @Name("operator++") @ByRef Minutes increment(); + public native @Name("operator--") @ByRef Minutes decrement(); + public native @Name("operator+=") @ByRef Minutes addPut(@Const @ByRef Minutes d); + public native @Name("operator-=") @ByRef Minutes subtractPut(@Const @ByRef Minutes d); + public native @Name("operator*=") @ByRef Minutes multiplyPut(@Const @ByRef int rhs); + public native @Name("operator%=") @ByRef Minutes modPut(@Const @ByRef int rhs); + public native @Name("operator%=") @ByRef Minutes modPut(@Const @ByRef Minutes rhs); + + public native int count(); + static public native @ByVal @Name("zero") Minutes zero_(); + static public native @ByVal Minutes min(); + static public native @ByVal Minutes max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/Nanoseconds.java b/src/main/java/org/bytedeco/javacpp/chrono/Nanoseconds.java new file mode 100644 index 00000000..534cbd0e --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/Nanoseconds.java @@ -0,0 +1,37 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::nanoseconds") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class Nanoseconds extends Pointer { + public Nanoseconds() { allocate(); } + private native void allocate(); + public Nanoseconds(long r) { allocate(r); } + private native void allocate(long r); + public Nanoseconds(Microseconds d) { allocate(d); } + private native void allocate(@Const @ByRef Microseconds d); + public Nanoseconds(Milliseconds d) { allocate(d); } + private native void allocate(@Const @ByRef Milliseconds d); + public Nanoseconds(Seconds d) { allocate(d); } + private native void allocate(@Const @ByRef Seconds d); + public Nanoseconds(Minutes d) { allocate(d); } + private native void allocate(@Const @ByRef Minutes d); + public Nanoseconds(Hours d) { allocate(d); } + private native void allocate(@Const @ByRef Hours d); + + public native @Name("operator=") @ByRef Nanoseconds put(@Const @ByRef Nanoseconds other); + public native @Name("operator-") @ByVal Nanoseconds negate(); + public native @Name("operator++") @ByRef Nanoseconds increment(); + public native @Name("operator--") @ByRef Nanoseconds decrement(); + public native @Name("operator+=") @ByRef Nanoseconds addPut(@Const @ByRef Nanoseconds d); + public native @Name("operator-=") @ByRef Nanoseconds subtractPut(@Const @ByRef Nanoseconds d); + public native @Name("operator*=") @ByRef Nanoseconds multiplyPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef Nanoseconds modPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef Nanoseconds modPut(@Const @ByRef Nanoseconds rhs); + + public native long count(); + static public native @ByVal @Name("zero") Nanoseconds zero_(); + static public native @ByVal Nanoseconds min(); + static public native @ByVal Nanoseconds max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/Seconds.java b/src/main/java/org/bytedeco/javacpp/chrono/Seconds.java new file mode 100644 index 00000000..8c5666cd --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/Seconds.java @@ -0,0 +1,31 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::seconds") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class Seconds extends Pointer { + public Seconds() { allocate(); } + private native void allocate(); + public Seconds(long r) { allocate(r); } + private native void allocate(long r); + public Seconds(Minutes d) { allocate(d); } + private native void allocate(@Const @ByRef Minutes d); + public Seconds(Hours d) { allocate(d); } + private native void allocate(@Const @ByRef Hours d); + + public native @Name("operator=") @ByRef Seconds put(@Const @ByRef Seconds other); + public native @Name("operator-") @ByVal Seconds negate(); + public native @Name("operator++") @ByRef Seconds increment(); + public native @Name("operator--") @ByRef Seconds decrement(); + public native @Name("operator+=") @ByRef Seconds addPut(@Const @ByRef Seconds d); + public native @Name("operator-=") @ByRef Seconds subtractPut(@Const @ByRef Seconds d); + public native @Name("operator*=") @ByRef Seconds multiplyPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef Seconds modPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef Seconds modPut(@Const @ByRef Seconds rhs); + + public native long count(); + static public native @ByVal @Name("zero") Seconds zero_(); + static public native @ByVal Seconds min(); + static public native @ByVal Seconds max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/SecondsDouble.java b/src/main/java/org/bytedeco/javacpp/chrono/SecondsDouble.java new file mode 100644 index 00000000..912d2575 --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/SecondsDouble.java @@ -0,0 +1,29 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::duration") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class SecondsDouble extends Pointer { + public SecondsDouble() { allocate(); } + private native void allocate(); + public SecondsDouble(double r) { allocate(r); } + private native void allocate(double r); + public SecondsDouble(Nanoseconds d) { allocate(d); } + private native void allocate(@Const @ByRef Nanoseconds d); + public SecondsDouble(Seconds d) { allocate(d); } + private native void allocate(@Const @ByRef Seconds d); + + public native @Name("operator=") @ByRef SecondsDouble put(@Const @ByRef SecondsDouble other); + public native @Name("operator-") @ByVal SecondsDouble negate(); + public native @Name("operator++") @ByRef SecondsDouble increment(); + public native @Name("operator--") @ByRef SecondsDouble decrement(); + public native @Name("operator+=") @ByRef SecondsDouble addPut(@Const @ByRef SecondsDouble d); + public native @Name("operator-=") @ByRef SecondsDouble subtractPut(@Const @ByRef SecondsDouble d); + public native @Name("operator*=") @ByRef SecondsDouble multiplyPut(@Const @ByRef double rhs); + + public native double count(); + static public native @ByVal @Name("zero") SecondsDouble zero_(); + static public native @ByVal SecondsDouble min(); + static public native @ByVal SecondsDouble max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/SecondsFloat.java b/src/main/java/org/bytedeco/javacpp/chrono/SecondsFloat.java new file mode 100644 index 00000000..bdf19178 --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/SecondsFloat.java @@ -0,0 +1,29 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::duration") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class SecondsFloat extends Pointer { + public SecondsFloat() { allocate(); } + private native void allocate(); + public SecondsFloat(float r) { allocate(r); } + private native void allocate(float r); + public SecondsFloat(Nanoseconds d) { allocate(d); } + private native void allocate(@Const @ByRef Nanoseconds d); + public SecondsFloat(Seconds d) { allocate(d); } + private native void allocate(@Const @ByRef Seconds d); + + public native @Name("operator=") @ByRef SecondsFloat put(@Const @ByRef SecondsFloat other); + public native @Name("operator-") @ByVal SecondsFloat negate(); + public native @Name("operator++") @ByRef SecondsFloat increment(); + public native @Name("operator--") @ByRef SecondsFloat decrement(); + public native @Name("operator+=") @ByRef SecondsFloat addPut(@Const @ByRef SecondsFloat d); + public native @Name("operator-=") @ByRef SecondsFloat subtractPut(@Const @ByRef SecondsFloat d); + public native @Name("operator*=") @ByRef SecondsFloat multiplyPut(@Const @ByRef float rhs); + + public native float count(); + static public native @ByVal @Name("zero") SecondsFloat zero_(); + static public native @ByVal SecondsFloat min(); + static public native @ByVal SecondsFloat max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/SteadyClock.java b/src/main/java/org/bytedeco/javacpp/chrono/SteadyClock.java new file mode 100644 index 00000000..e2a8502c --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/SteadyClock.java @@ -0,0 +1,11 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.ByVal; +import org.bytedeco.javacpp.annotation.Name; +import org.bytedeco.javacpp.annotation.Properties; + +@Name("std::chrono::steady_clock") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class SteadyClock extends Pointer { + static public native @ByVal SteadyTime now(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/SteadyDuration.java b/src/main/java/org/bytedeco/javacpp/chrono/SteadyDuration.java new file mode 100644 index 00000000..a95abe15 --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/SteadyDuration.java @@ -0,0 +1,26 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::steady_clock::duration") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class SteadyDuration extends Pointer { + public SteadyDuration() { allocate(); } + private native void allocate(); + public SteadyDuration(long r) { allocate(r); } + private native void allocate(long r); + + public native @Name("operator=") @ByRef SteadyDuration put(@Const @ByRef SteadyDuration other); + public native @Name("operator-") @ByVal SteadyDuration negate(); + public native @Name("operator++") @ByRef SteadyDuration increment(); + public native @Name("operator--") @ByRef SteadyDuration decrement(); + public native @Name("operator+=") @ByRef SteadyDuration addPut(@Const @ByRef SteadyDuration d); + public native @Name("operator-=") @ByRef SteadyDuration subtractPut(@Const @ByRef SteadyDuration d); + public native @Name("operator*=") @ByRef SteadyDuration multiplyPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef SteadyDuration modPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef SteadyDuration modPut(@Const @ByRef SteadyDuration rhs); + + public native long count(); + static public native @ByVal @Name("zero") SteadyDuration zero_(); + static public native @ByVal SteadyDuration min(); + static public native @ByVal SteadyDuration max();} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/SteadyTime.java b/src/main/java/org/bytedeco/javacpp/chrono/SteadyTime.java new file mode 100644 index 00000000..b2ec2c24 --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/SteadyTime.java @@ -0,0 +1,21 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::time_point") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class SteadyTime extends Pointer { + public SteadyTime() { allocate(); } + private native void allocate(); + + public SteadyTime(SteadyDuration d) { allocate(d); } + private native void allocate(@Const @ByRef SteadyDuration d); + + public native @ByVal SteadyDuration time_since_epoch(); + + public native @Name("operator +=") @ByRef SteadyTime addPut(@Const @ByRef SteadyDuration d); + public native @Name("operator -=") @ByRef SteadyTime subtractPut(@Const @ByRef SteadyDuration d); + static public native @ByVal SteadyTime min(); + static public native @ByVal SteadyTime max(); + +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/SystemClock.java b/src/main/java/org/bytedeco/javacpp/chrono/SystemClock.java new file mode 100644 index 00000000..63c0a3ac --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/SystemClock.java @@ -0,0 +1,11 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::system_clock") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class SystemClock extends Pointer { + static public native @ByVal SystemTime now(); + static public native @Cast("time_t") long to_time_t(@Const @ByRef SystemTime t); + static public native @ByVal SystemTime from_time_t(@Cast("time_t") long t); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/SystemDuration.java b/src/main/java/org/bytedeco/javacpp/chrono/SystemDuration.java new file mode 100644 index 00000000..e3b1508e --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/SystemDuration.java @@ -0,0 +1,27 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::system_clock::duration") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class SystemDuration extends Pointer { + public SystemDuration() { allocate(); } + private native void allocate(); + public SystemDuration(long r) { allocate(r); } + private native void allocate(long r); + + public native @Name("operator=") @ByRef SystemDuration put(@Const @ByRef SystemDuration other); + public native @Name("operator-") @ByVal SystemDuration negate(); + public native @Name("operator++") @ByRef SystemDuration increment(); + public native @Name("operator--") @ByRef SystemDuration decrement(); + public native @Name("operator+=") @ByRef SystemDuration addPut(@Const @ByRef SystemDuration d); + public native @Name("operator-=") @ByRef SystemDuration subtractPut(@Const @ByRef SystemDuration d); + public native @Name("operator*=") @ByRef SystemDuration multiplyPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef SystemDuration modPut(@Const @ByRef long rhs); + public native @Name("operator%=") @ByRef SystemDuration modPut(@Const @ByRef SystemDuration rhs); + + public native long count(); + static public native @ByVal @Name("zero") SystemDuration zero_(); + static public native @ByVal SystemDuration min(); + static public native @ByVal SystemDuration max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/chrono/SystemTime.java b/src/main/java/org/bytedeco/javacpp/chrono/SystemTime.java new file mode 100644 index 00000000..4b388da8 --- /dev/null +++ b/src/main/java/org/bytedeco/javacpp/chrono/SystemTime.java @@ -0,0 +1,20 @@ +package org.bytedeco.javacpp.chrono; + +import org.bytedeco.javacpp.Pointer; +import org.bytedeco.javacpp.annotation.*; + +@Name("std::chrono::time_point") @Properties(inherit = org.bytedeco.javacpp.presets.javacpp.class) +public class SystemTime extends Pointer { + public SystemTime() { allocate(); } + private native void allocate(); + + public SystemTime(SystemDuration d) { allocate(d); } + private native void allocate(@Const @ByRef SystemDuration d); + + public native @ByVal SystemDuration time_since_epoch(); + + public native @Name("operator +=") @ByRef SystemTime addPut(@Const @ByRef SystemDuration d); + public native @Name("operator -=") @ByRef SystemTime subtractPut(@Const @ByRef SystemDuration d); + static public native @ByVal SystemTime min(); + static public native @ByVal SystemTime max(); +} diff --git a/src/main/java/org/bytedeco/javacpp/tools/Generator.java b/src/main/java/org/bytedeco/javacpp/tools/Generator.java index 52b5ff3f..e703ca31 100644 --- a/src/main/java/org/bytedeco/javacpp/tools/Generator.java +++ b/src/main/java/org/bytedeco/javacpp/tools/Generator.java @@ -365,6 +365,7 @@ boolean classes(boolean handleExceptions, boolean defineAdapters, boolean conver out.println("#include "); out.println("#include "); out.println("#include "); + out.println("#include "); if (baseLoadSuffix == null || baseLoadSuffix.isEmpty()) { out.println(); out.println("#if defined(NATIVE_ALLOCATOR) && defined(NATIVE_DEALLOCATOR)");