Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Не то чтобы это было проблемой, но просто непонятно. Если move-constructor положить в приват - не компилит. Хотя мог бы юзать обычный copy-constructor. Может есть опция по отключению C++11? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 18:45 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchik, Объяви конструктор с соотв. сигнатурой и снабди ключевым словом "delete". http://ru.cppreference.com/w/cpp/language/move_constructor ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 19:53 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Не помогает: Error C2280: 'Foo::Foo(Foo &&)' : attempting to reference a deleted function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2014, 21:16 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchik, Приведите код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 00:33 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 00:35 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 00:38 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchik, В GCC тоже самое. Пока не врубаюсь почему ошибка. Вот сокращенный до минимума код, где повторяется ошибка, может кто-то увидит что-то очевидное. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 01:07 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Код: sql 1. 2. 3. 4. А скажите пожалуйста, что вот этот код должен сделать? Я тут вижу создание объекта, потом еще одно создание, потом копирование. А что в свете новых веяний должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 04:37 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
White Owl Копирующего присваивания здесь нет. Это вызов копирующего конструктора. В с++11 может быть заменен вызовом move-конструктора, т.к. справа временный объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 06:28 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
похожее обсуждение на стаке How to allow copy elision construction for C++ classes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 08:52 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
White OwlAnatoly Moskovsky Код: sql 1. 2. 3. 4. А скажите пожалуйста, что вот этот код должен сделать? Я тут вижу создание объекта, потом еще одно создание, потом копирование. Согласно стандарту (не только новому но и всем предыдущим), это инициализация объявленного объекта, а не копирование временного в объявленный. Но компилятору никто не запрещает и создать временный объект и копировать его в объявленный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 13:20 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyСогласно стандарту (не только новому но и всем предыдущим), это инициализация объявленного объекта, а не копирование временного в объявленный. Но выглядит это как инициализация одного объекта другим объектом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 13:36 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovAnatoly MoskovskyСогласно стандарту (не только новому но и всем предыдущим), это инициализация объявленного объекта, а не копирование временного в объявленный. Но выглядит это как инициализация одного объекта другим объектом. RVO же, замучаешься его отключать, если зачем то приспичит )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 13:52 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Но компилятору никто не запрещает и создать временный объект и копировать его в объявленный. Пожалуй, всё-таки нельзя. Ну, или пусть делает это без вызова copy-assignment. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 14:50 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Вот единственное, что хочется сказать: "понапридумывали" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 15:43 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Классик Уважаемый редактор Может лучше про реактор? Про привычный лунный трактор! Ведь нельзя-же всё подряд! То тарелками пугають! Дескыть подлые летають! То у вас собаки лають. То руины говорят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 18:11 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНо выглядит это как инициализация одного объекта другим объектом. Дело в том что другого синтаксиса инициализации дефолтным конструктором нет (точнее не было до C++11) :) Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 19:00 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Возвращаясь к исходному вопросу. Раз в GCC то же самое, то скорее всего такое поведение описано в стандарте (но я сам не искал где, т.к. нет времени). Раз такие дела, то просто реализуйте move-конструктор :) Никаких причин против использования move-конструкторов я не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 19:06 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyDimitry SibiryakovНо выглядит это как инициализация одного объекта другим объектом. Дело в том что другого синтаксиса инициализации дефолтным конструктором нет (точнее не было до C++11) :) Код: plaintext 1. 2. 3. 4. это чтож, весь старый код будет давать такой замечательный бэкграунд при переходе на С++11? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 19:07 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
egorychэто чтож, весь старый код будет давать такой замечательный бэкграунд при переходе на С++11? Получается, что если были copy-конструкторы, то надо реализовать и move-конструкторы, иначе будет использован дефолтный. Фигня какая-то. Надо почитать стандарт. Сам я пока на с++11 не пишу, поэтому не сталкивался с этой темой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 19:19 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Код: sql 1. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Что я делаю неправильно? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 20:32 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyПолучается, что если были copy-конструкторы, то надо реализовать и move-конструкторы, иначе будет использован дефолтный. Фигня какая-то. Надо почитать стандарт. Сам я пока на с++11 не пишу, поэтому не сталкивался с этой темой. Не-а, не будет: ISO C++If the definition of a class X does not explicitly declare a move constructor, one will be implicitly declared as defaulted if and only if — X does not have a user-declared copy constructor, — X does not have a user-declared copy assignment operator, — X does not have a user-declared move assignment operator, — X does not have a user-declared destructor, and — the move constructor would not be implicitly defined as deleted. [ Note: When the move constructor is not implicitly declared or explicitly supplied, expressions that otherwise would have invoked the move constructor may instead invoke a copy constructor. —end note ] То есть, tolyanchik'у достаточно убрать Код: plaintext 1. И никакого move-конструктора просто не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 20:33 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЧто я делаю неправильно? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. убери конструктор, собери в релизе, наслаждайся )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 20:44 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyсинтаксиса инициализации дефолтным конструктором нет egorychубери конструктор Эта... Я чего-то не понимаю: нет синтаксиса инициализации несуществующим конструктором?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 20:48 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
MozokТо есть, tolyanchik'у достаточно убрать Код: plaintext 1. И никакого move-конструктора просто не будет. Я примерно так и предполагал, но не видел что это работает. А теперь понял почему. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Тут я не видел вызова copy-ctor и думал что вместо него вызывался неявный move-ctor, а на самом деле тут просто ни copy-ctor ни move-ctor не вызываются, потому что есть только инициализация Foo() и никакого копирования вообще не происходит, как я выше сам и объяснял :) Таким образом действительно достаточно не объявлять move-ctor вообще, но объявить copy-ctor. Все, буду спать спокойно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:12 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovAnatoly Moskovskyсинтаксиса инициализации дефолтным конструктором нет egorychубери конструктор Эта... Я чего-то не понимаю: нет синтаксиса инициализации несуществующим конструктором?.. если у тебя в классе нет ни одного конструктора, то компилятор тебе создаст конструктор по умолчанию... но в нём POD-данные не будут инициализированы, такая вот фигня )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:15 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЭта... Я чего-то не понимаю: нет синтаксиса инициализации несуществующим конструктором?.. Вообще это называется default initialization (инициализация по умолчанию). Слово конструктор там лишнее. Для синтаксиса Код: plaintext 1. инициализация по умолчанию производится путем вызова конструктора, при условии что у класса или его полей есть конструкторы, т.е. только для не-POD. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:17 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Ну и для полноты картины: для синтаксиса Код: plaintext 1. инициализация по умолчанию производится путем вызова конструктора для не-POD или нулями для POD. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:23 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyНу и для полноты картины: для синтаксиса Код: plaintext 1. инициализация по умолчанию производится путем вызова конструктора для не-POD или нулями для POD.а в С++11 это будет работать, или надо переписывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:26 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
egorych, Конечно будет, все обратно совместимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:27 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyegorych, Конечно будет, все обратно совместимо.спасибо )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:43 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Есть еще нюансы (но все укладывается в вышесказанное). Запощу пару примеров :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:46 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Чёрт, слишком стар я для этих подвыподвертов... Лучше уж останусь у одскульного "всё, что не инициализировано явно - не инициализировано вообще". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:48 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЧёрт, слишком стар я для этих подвыподвертов... Лучше уж останусь у одскульного "всё, что не инициализировано явно - не инициализировано вообще". +1, так проще, и правильней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:52 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
В С++11 все на самом деле проще :) Код: plaintext 1. 2. 3. 4. 5. И все инициализируется всегда :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2014, 21:58 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
MozokAnatoly MoskovskyПолучается, что если были copy-конструкторы, то надо реализовать и move-конструкторы, иначе будет использован дефолтный. Фигня какая-то. Надо почитать стандарт. Сам я пока на с++11 не пишу, поэтому не сталкивался с этой темой. Не-а, не будет: ISO C++If the definition of a class X does not explicitly declare a move constructor, one will be implicitly declared as defaulted if and only if — X does not have a user-declared copy constructor, — X does not have a user-declared copy assignment operator, — X does not have a user-declared move assignment operator, — X does not have a user-declared destructor, and — the move constructor would not be implicitly defined as deleted. [ Note: When the move constructor is not implicitly declared or explicitly supplied, expressions that otherwise would have invoked the move constructor may instead invoke a copy constructor. —end note ] То есть, tolyanchik'у достаточно убрать Код: plaintext 1. И никакого move-конструктора просто не будет. По крайней мере, в VS такой подход не работает. Move-ctor генерится автоматически. Студия не позволяет его не использовать (если считает, что он нужен) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 03:38 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchikПо крайней мере, в VS такой подход не работает. Move-ctor генерится автоматически. Студия не позволяет его не использовать (если считает, что он нужен) :) Т.е. если вы объявляете move-к-тор, то он вызывается (и это подтвержается отладочной печатью)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:10 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Перепроверил - нет, почему-то move-ctor не вызывается (но и без него не хочет рабоать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:31 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchikПерепроверил - нет, почему-то move-ctor не вызывается (но и без него не хочет рабоать) Теперь осталось выяснить что такое "не хочет работать". Как вы определяете что не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:33 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Теперь это выглядит совершенно бредово:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:35 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
В вашем коде из-за RVO может вообще не требоваться копирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:36 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
[img=] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:38 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:39 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Тогда возникает вопрос, почему не компилит совершенно тривиальный код, ведь достаточно вызвать обычный конструктор копирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:40 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchik, Потому что private функции недоступны извне класса :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:43 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Согласно стандарту, при проведении оптимизаций компилятор дожен выдавать ошибки, которые были бы если бы оптимизации не было. В частности без RVO было бы копирование перемещением из временной переменной, а оно у вас private ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:46 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Это понятно, но если удалить move-ctor, обычный copy-ctor всё равно не вызывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:48 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Короче, вам надо удалить move-ctor и все. При этом в зависимости от оптимизаций либо будет вызываться copy-ctor либо ничего. Никакой move-ctor не генерится если объявлен copy-ctor. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:49 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchikЭто понятно, но если удалить move-ctor, обычный copy-ctor всё равно не вызывается. Я же вам написал - это оптимизация RVO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:50 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
Ок, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2014, 04:53 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchikНе помогает: Error C2280: 'Foo::Foo(Foo &&)' : attempting to reference a deleted function как же не помогает, когда помогает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2014, 07:05 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
MasterZiv Я имел в виду, что move-ctor всё равно вызывался. Оказалось, я был не прав, это RVO (который вроде как нельзя отключить:) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2014, 22:36 |
|
||
|
Visual Stuido - как запретить использовать конструктор перемещения
|
|||
|---|---|---|---|
|
#18+
tolyanchik, Если вам надо отладить конструктор копирования, то заставьте компилятор его вызвать :) Код: plaintext 1. 2. Потому что RVO не всегда будет срабатывать, а ждать когда случайно вызовется неотлаженный код это ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2014, 23:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2019194]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 472ms |

| 0 / 0 |
