Здравствуйте, Erop, Вы писали:
VEC>>Да, на таком варианте и остановились.
VEC>>Изначально не хотели делать "масло масляное", т.к. очевидно, что IWriter::SetPosition() управляет курсором по записи, а IReader::SetPosition() — по чтению.
E>Можно сделать набор перегруженных функций void SetPosition( IReader*, int newPos );
E>void SetPosition( IWriter*, int newPos );
E>void SetPosition( IStorage*, int newPos );
в которых уже нужные методы и звать, а в коде использовать толкьо редиректоры.
E>Методы, кстати, можно сделать приватными, а редиректоры -- друзьямИ, но я бы такой ерундой страдать не стал.
Да много чего мжно сделать. Но это все выходит за рамки java-style с мульти-интефрейсами, который хотелось использовать изначально.
Т.ч. просто решили не заводить "пересекающихся" имен тем более, что владельцы кода — мы.
К чужому коду в подобной ситуации придется прикручивать костыли, т.ч. все это обсуждение в любом случае не канет в Лету.