//! [eip-165](https://eips.ethereum.org/EIPS/eip-165)
use Result;
/// The interface identifier for this interface is 0x01ffc9a7. You can calculate this by running bytes4(keccak256('supportsInterface(bytes4)')); or using the Selector contract above.
///
/// Therefore the implementing contract will have a supportsInterface function that returns:
///
/// - true when interfaceID is 0x01ffc9a7 (EIP165 interface)
/// - false when interfaceID is 0xffffffff
/// - true for any other interfaceID this contract implements
/// - false for any other interfaceID
/// This function must return a bool and use at most 30,000 gas.
///
/// Implementation note, there are several logical ways to implement this function. Please see the example implementations and the discussion on gas usage.