From fb992677cf62b6aa982476538faae43e5bbbd87f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Nusser?= Date: Sun, 12 Jan 2020 15:41:39 +0100 Subject: Introduce EventsDS to handle all the events and enable new features. Also: * Added an id.h class to make IDs with type * Added a range class to easily use range based for loops --- src/range.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/range.h (limited to 'src/range.h') diff --git a/src/range.h b/src/range.h new file mode 100644 index 0000000..0527577 --- /dev/null +++ b/src/range.h @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/*************************************************************************** + * range.h + * + * Sun 16 Feb 2020 04:17:19 PM CET + * Copyright 2020 André Nusser + * andre.nusser@googlemail.com + ****************************************************************************/ + +/* + * This file is part of DrumGizmo. + * + * DrumGizmo is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DrumGizmo is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with DrumGizmo; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ +#pragma once + +// Having the iterator as template parameter enables us to also +// define ContainerRanges with const_iterators. +template +struct ContainerRange +{ + ContainerRange(iterator begin, iterator end) + : _begin(begin), _end(end) {}; + + iterator begin() const { return _begin; }; + iterator end() const { return _end; }; + +private: + iterator const _begin; + iterator const _end; +}; -- cgit v1.2.3