1//
2// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5//
6
7#ifndef UTIL_SHARED_UTILS_H
8#define UTIL_SHARED_UTILS_H
9
10#define SHADER_SOURCE(...) #__VA_ARGS__
11
12// A macro to disallow the copy constructor and operator= functions
13// This must be used in the private: declarations for a class
14#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
15    TypeName(const TypeName&);             \
16    void operator=(const TypeName&)
17
18template <typename T, size_t N>
19inline size_t ArraySize(T(&)[N])
20{
21    return N;
22}
23
24#endif // UTIL_SHARED_UTILS_H
25