[pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [inline, static] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual] [pure virtual]