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.


Reply via email to