diff options
author | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-08-21 03:07:42 +0000 |
---|---|---|
committer | graehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f> | 2010-08-21 03:07:42 +0000 |
commit | ca9c1f40cad1f99f00beb2871dc50bf7222d44d4 (patch) | |
tree | 183f19411904bb2a23cc5f916f1887a484c6574b /utils/null_traits.h | |
parent | d8dbfdcc460754bd5f45182495ff14b39b94b24d (diff) |
agenda for fsa
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@612 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'utils/null_traits.h')
-rwxr-xr-x | utils/null_traits.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/utils/null_traits.h b/utils/null_traits.h new file mode 100755 index 00000000..fac857d9 --- /dev/null +++ b/utils/null_traits.h @@ -0,0 +1,26 @@ +#ifndef NULL_TRAITS_H +#define NULL_TRAITS_H + +template <class V> +struct null_traits { + static V null; //TODO: maybe take out default null and make ppl explicitly define? they may be surprised that they need to when they include a header lib that uses null_traits +}; +// global bool is_null(V const& v) + +// definitely override this, and possibly set_null and is_null. that's the point. +template <class V> +V null_traits<V>::null; +//TODO: are we getting single init of the static null object? + +template <class V> +void set_null(V &v) { + v=null_traits<V>::null; +} + +template <class V> +void is_null(V const& v) { + return v==null_traits<V>::null; +} + + +#endif |