diff options
author | Kirill Volinsky <mataes2007@gmail.com> | 2012-10-14 09:52:45 +0000 |
---|---|---|
committer | Kirill Volinsky <mataes2007@gmail.com> | 2012-10-14 09:52:45 +0000 |
commit | 3f4753a8c66e85c804c6407a6885b6dd1ece3dfa (patch) | |
tree | 2b4afd3ca2113f2020237ba678ee926d99f21dfd /plugins/Boltun/Engine/ValueChooser.h | |
parent | b63e7382158dd683abcd13e6a353db2920a1590e (diff) |
Boltun: folders restructurization
git-svn-id: http://svn.miranda-ng.org/main/trunk@1921 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Boltun/Engine/ValueChooser.h')
-rw-r--r-- | plugins/Boltun/Engine/ValueChooser.h | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/plugins/Boltun/Engine/ValueChooser.h b/plugins/Boltun/Engine/ValueChooser.h deleted file mode 100644 index 219a55a8f2..0000000000 --- a/plugins/Boltun/Engine/ValueChooser.h +++ /dev/null @@ -1,88 +0,0 @@ -//***********************************************************
-// Copyright © 2008 Valentin Pavlyuchenko
-//
-// This file is part of Boltun.
-//
-// Boltun is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 2 of the License, or
-// (at your option) any later version.
-//
-// Boltun 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 General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Boltun. If not, see <http://www.gnu.org/licenses/>.
-//
-//***********************************************************
-
-#ifndef StringChooserH
-#define StringChooserH
-
-#include <vector>
-#include <string>
-
-template<class container = std::vector<tstring> >
-class ValueChooser
-{
-private:
- int freeNumbers;
- bool *numbers;
- const container data;
- bool notifyOnReset;
-public:
- ValueChooser(const container& vec, bool NotifyOnReset = false)
- :data(vec), notifyOnReset(NotifyOnReset)
- {
- //randomize();
- numbers = NULL;
- UpdateLength();
- }
-
- ~ValueChooser()
- {
- delete numbers;
- }
-
- void UpdateLength()
- {
- delete numbers; //normal if numbers == NULL
- numbers = new bool[data.size()];
- Reset();
- }
-
- void Reset()
- {
- for (size_t i = 0; i < data.size(); i++)
- numbers[i] = false;
- freeNumbers = (int)data.size();
- }
-
- typename container::value_type GetString()
- {
- if (!freeNumbers)
- {
- Reset();
- if (notifyOnReset)
- return _T("");
- }
- int result;
- while (numbers[result = rand() % data.size()])
- ;
- freeNumbers--;
- numbers[result] = true;
- return data[result];
- }
-
- container GetContainer() const;
-};
-
-template<class container>
-container ValueChooser<container>::GetContainer() const
-{
- return data;
-}
-
-#endif
|