diff --git a/gen/utils.h b/gen/utils.h deleted file mode 100644 index 8d0fc61e..00000000 --- a/gen/utils.h +++ /dev/null @@ -1,86 +0,0 @@ -//===-- gen/utils.h - Utilities for handling frontend types -----*- C++ -*-===// -// -// LDC – the LLVM D compiler -// -// This file is distributed under the BSD-style LDC license. See the LICENSE -// file for details. -// -//===----------------------------------------------------------------------===// -// -// Some utilities for handling front-end types in a more C++-like fashion. -// -//===----------------------------------------------------------------------===// - -#ifndef LDC_GEN_UTILS_H -#define LDC_GEN_UTILS_H - -#include "root.h" - -/// Very simple templated iterator for DMD ArrayS. -template -struct ArrayIter -{ - Array* array; - size_t index; - - ArrayIter(Array& arr, size_t idx = 0) - : array(&arr), index(idx) - { } - ArrayIter(Array* arr, size_t idx = 0) - : array(arr), index(idx) - { assert(arr && "null array"); } - - ArrayIter& operator=(const Array& arr) - { - array = const_cast*>(&arr); - index = 0; - return *this; - } - ArrayIter& operator=(const Array* arr) - { - assert(arr && "null array"); - array = const_cast*>(arr); - index = 0; - return *this; - } - - bool done() - { - return index >= array->dim; - } - bool more() - { - return index < array->dim; - } - - C* get() { - return (*array)[index]; - } - C* operator->() { - return get(); - } - C* operator*() { - return get(); - } - - void next() - { - ++index; - } - - bool operator==(const ArrayIter& other) { - return &array->data[index] == &other.array->data[other.index]; - } -}; - -// From dsymbol.h / declaration.h -class Dsymbol; -class FuncDeclaration; -class VarDeclaration; - -// some aliases -typedef ArrayIter DsymbolIter; -typedef ArrayIter FuncDeclarationIter; -typedef ArrayIter VarDeclarationIter; - -#endif