Соответствие определяется поведением. Идеальное поведение не всегда реализуемо, поэтому в подразделах о соответствии это учтено.
Некоторое поведение определяется ссылкой на POSIX ([fs.norm.ref]). Как на самом деле реализуется такое поведение, не уточняется. [ Note: Это составляет правило «как если бы», позволяющее реализациям вызывать собственную операционную систему или другие API. ] — end note
Реализациям рекомендуется обеспечивать такое поведение, как оно определено в POSIX. Реализации должны документировать любое поведение, которое отличается от поведения, определенного POSIX. Реализациям, которые не поддерживают точное поведение POSIX, рекомендуется обеспечивать поведение, максимально приближенное к поведению POSIX, насколько это разумно с учетом ограничений реальных операционных систем и файловых систем. Если реализация не может обеспечить какое-либо разумное поведение, реализация должна сообщить об ошибке, как указано в [fs.err.report]. [ Note: Это позволяет пользователям полагаться на возникшее исключение или установленный код ошибки, когда реализация не может обеспечить какое-либо разумное поведение. ] — end note
Реализации не обязаны обеспечивать поведение, которое не поддерживается конкретной файловой системой. [ Example: Файловая система FAT, используемая некоторыми картами памяти, памятью камеры и гибкими дисками, не поддерживает жесткие ссылки, символические ссылки и многие другие функции более функциональных файловых систем, поэтому не требуются реализации для поддержки этих функций в файловой системе FAT, но вместо этого требуется сообщить об ошибке, как описано выше. ] — end example
Некоторое поведение указывается как имеющееся operating system dependent. Операционная система, от которой зависит реализация, определяется реализацией.
Поведение не определено, если вызовы функций, предоставленные этим подпунктом, вводят file system race.
Если возможность гонки файловой системы сделает для программы ненадежной проверку предусловия перед вызовом функции, описанной здесь, Requires: для функции не указано. [ Note: В соответствии с практикой проектирования предварительные условия не указываются, когда программа не имеет смысла обнаруживать их до вызова функции. ] — end note