yay for more C++11 goodness!
On Thu, Jul 18, 2013 at 8:46 AM, <[email protected]> wrote: > Reviewers: Sven Panne, > > Description: > Use C++11 deleted functions feature if available. > > Implement DISALLOW_COPY_AND_ASSIGN and DISALLOW_IMPLICIT_CONSTRUCTORS > using C++11 deleted functions if possible. > > Please review this at > https://codereview.chromium.**org/19728003/<https://codereview.chromium.org/19728003/> > > SVN Base: > https://v8.googlecode.com/svn/**branches/bleeding_edge<https://v8.googlecode.com/svn/branches/bleeding_edge> > > Affected files: > M src/globals.h > > > Index: src/globals.h > diff --git a/src/globals.h b/src/globals.h > index f00e676dde9866b9eb7bb2005d80ed**4766da46a2..** > 91942d30cd84eed02bac059fb01d48**40de9087fb 100644 > --- a/src/globals.h > +++ b/src/globals.h > @@ -327,11 +327,20 @@ F FUNCTION_CAST(Address addr) { > } > > > +#if __cplusplus >= 201103L || \ > + (defined(__has_feature) && __has_feature(cxx_deleted_**functions)) > || \ > + (defined(__has_extension) && __has_extension(cxx_deleted_** > functions)) > +#define DISALLOW_BY_DELETE = delete > +#else > +#define DISALLOW_BY_DELETE > +#endif > + > + > // A macro to disallow the evil copy constructor and operator= functions > // This should be used in the private: declarations for a class > -#define DISALLOW_COPY_AND_ASSIGN(**TypeName) \ > - TypeName(const TypeName&); \ > - void operator=(const TypeName&) > +#define DISALLOW_COPY_AND_ASSIGN(**TypeName) \ > + TypeName(const TypeName&) DISALLOW_BY_DELETE; \ > + void operator=(const TypeName&) DISALLOW_BY_DELETE > > > // A macro to disallow all the implicit constructors, namely the > @@ -341,7 +350,7 @@ F FUNCTION_CAST(Address addr) { > // that wants to prevent anyone from instantiating it. This is > // especially useful for classes containing only static methods. > #define DISALLOW_IMPLICIT_**CONSTRUCTORS(TypeName) \ > - TypeName(); \ > + TypeName() DISALLOW_BY_DELETE; \ > DISALLOW_COPY_AND_ASSIGN(**TypeName) > > > > > -- > -- > v8-dev mailing list > [email protected] > http://groups.google.com/**group/v8-dev<http://groups.google.com/group/v8-dev> > ---You received this message because you are subscribed to the Google > Groups "v8-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to > v8-dev+unsubscribe@**googlegroups.com<v8-dev%[email protected]> > . > For more options, visit > https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> > . > > > -- Google Germany GmbH *Dienerstr. 12, 80331 München., DE * -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
