diff options
-rw-r--r-- | THANKS | 1 | ||||
-rw-r--r-- | data/skeletons/lalr1.cc | 16 | ||||
-rw-r--r-- | data/skeletons/stack.hh | 11 | ||||
-rw-r--r-- | data/skeletons/variant.hh | 14 |
4 files changed, 37 insertions, 5 deletions
@@ -57,6 +57,7 @@ Derek M. Jones derek@knosof.co.uk Di-an Jan dianj@freeshell.org Dick Streefland dick.streefland@altium.nl Didier Godefroy dg@ulysium.net +Don Macpherson donmac703@gmail.com Efi Fogel efifogel@gmail.com Enrico Scholz enrico.scholz@informatik.tu-chemnitz.de Eric Blake ebb9@byu.net diff --git a/data/skeletons/lalr1.cc b/data/skeletons/lalr1.cc index 81aff234..2b27088f 100644 --- a/data/skeletons/lalr1.cc +++ b/data/skeletons/lalr1.cc @@ -204,6 +204,13 @@ m4_define([b4_shared_declarations], ]b4_parser_class[ (]b4_parse_param_decl[); virtual ~]b4_parser_class[ (); +#if 201103L <= YY_CPLUSPLUS + /// Non copyable. + ]b4_parser_class[ (const ]b4_parser_class[&) = delete; + /// Non copyable. + ]b4_parser_class[& operator= (const ]b4_parser_class[&) = delete; +#endif + /// Parse. An alias for parse (). /// \returns 0 iff parsing succeeded. int operator() (); @@ -255,10 +262,13 @@ m4_define([b4_shared_declarations], }; ]])[ private: - /// This class is not copyable. +#if YY_CPLUSPLUS < 201103L + /// Non copyable. ]b4_parser_class[ (const ]b4_parser_class[&); - ]b4_parser_class[& operator= (const ]b4_parser_class[&);]b4_lac_if([[ - + /// Non copyable. + ]b4_parser_class[& operator= (const ]b4_parser_class[&); +#endif +]b4_lac_if([[ /// Check the lookahead yytoken. /// \returns true iff the token will be eventually shifted. bool yy_lac_check_ (symbol_kind_type yytoken) const; diff --git a/data/skeletons/stack.hh b/data/skeletons/stack.hh index 6c41fbf8..0fd36258 100644 --- a/data/skeletons/stack.hh +++ b/data/skeletons/stack.hh @@ -41,6 +41,13 @@ m4_define([b4_stack_define], : seq_ (n) {} +#if 201103L <= YY_CPLUSPLUS + /// Non copyable. + stack (const stack&) = delete; + /// Non copyable. + stack& operator= (const stack&) = delete; +#endif + /// Random access. /// /// Index 0 returns the topmost element. @@ -126,8 +133,12 @@ m4_define([b4_stack_define], }; private: +#if YY_CPLUSPLUS < 201103L + /// Non copyable. stack (const stack&); + /// Non copyable. stack& operator= (const stack&); +#endif /// The wrapped container. S seq_; }; diff --git a/data/skeletons/variant.hh b/data/skeletons/variant.hh index 13a35c6d..b594af38 100644 --- a/data/skeletons/variant.hh +++ b/data/skeletons/variant.hh @@ -115,6 +115,13 @@ m4_define([b4_value_type_declare], new (yyas_<T> ()) T (YY_MOVE (t)); } +#if 201103L <= YY_CPLUSPLUS + /// Non copyable. + semantic_type (const self_type&) = delete; + /// Non copyable. + self_type& operator= (const self_type&) = delete; +#endif + /// Destruction, allowed only if empty. ~semantic_type () YY_NOEXCEPT {]b4_parse_assert_if([ @@ -258,9 +265,12 @@ m4_define([b4_value_type_declare], } private: - /// Prohibit blind copies. - self_type& operator= (const self_type&); +#if YY_CPLUSPLUS < 201103L + /// Non copyable. semantic_type (const self_type&); + /// Non copyable. + self_type& operator= (const self_type&); +#endif /// Accessor to raw memory as \a T. template <typename T> |